/*
 * Copyright © 2021 Glenfly Tech Co., Ltd.
 *
 * Permission is hereby granted, free of charge, to any person obtaining a
 * copy of this software and associated documentation files (the "Software"),
 * to deal in the Software without restriction, including without limitation
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
 * and/or sell copies of the Software, and to permit persons to whom the
 * Software is furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice (including the next
 * paragraph) shall be included in all copies or substantial portions of the
 * Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
 * IN THE SOFTWARE.
 *
 */

#define GPIO_BASE_ADDR          0x70000

#define __GPIO_BASE      GPIO_BASE_ADDR

#define GIRQ_LOW                0x00            /* Input zero generate GPIO_IRQ signal */
#define GIRQ_HIGH               0x01            /* Input one generate GPIO_IRQ signal */
#define GIRQ_FALLING            0x02            /* Falling edge generate GPIO_IRQ signal */
#define GIRQ_RISING             0x03            /* Rising edge generate GPIO_IRQ signal */
#define GIRQ_BOTHEDGE           0x04
#define GIRQ_TYPEMASK           0x07
#define GIRQ_TYPE(idx, type)    ((type & GIRQ_TYPEMASK) << (idx * 8)) /* idx must be 0-3 */
#define GIRQ_EN_STS(idx)                ( 1 << ((idx+1)*8-1) )  /* idx must be 0-3 */


#define GPIO_ID_GP0_BYTE_ADDR 					(__GPIO_BASE + 0x0  )
#define GPIO_ID_GP1_BYTE_ADDR 					(__GPIO_BASE + 0x1  )
#define GPIO_ID_GP2_WAKEUP_SUS_BYTE_ADDR 		(__GPIO_BASE + 0x2  )
#define GPIO_ID_GP3_SD0CD_BYTE_ADDR 			(__GPIO_BASE + 0x3  )
#define GPIO_ID_GP4_VDOUT_7_0_BYTE_ADDR    	    (__GPIO_BASE + 0x4  )
#define GPIO_ID_GP5_VDOUT_15_8_BYTE_ADDR        (__GPIO_BASE + 0x5  )
#define GPIO_ID_GP6_VDOUT_23_16_BYTE_ADDR 		(__GPIO_BASE + 0x6  )
#define GPIO_ID_GP7_VD_BYTE_ADDR       			(__GPIO_BASE + 0x7  )
#define GPIO_ID_GP8_VDIN_BYTE_ADDR     			(__GPIO_BASE + 0x8  )
#define GPIO_ID_GP9_VSYNC_BYTE_ADDR 			(__GPIO_BASE + 0x9  )
#define GPIO_ID_GP10_I2S_BYTE_ADDR 				(__GPIO_BASE + 0xA  )
#define GPIO_ID_GP11_SPI_BYTE_ADDR      		(__GPIO_BASE + 0xB  )
#define GPIO_ID_GP14_SD_BYTE_ADDR       		(__GPIO_BASE + 0xE  )
#define GPIO_ID_GP15_NAND_7_0_BYTE_ADDR       	(__GPIO_BASE + 0xF  )
#define GPIO_ID_GP16_NAND_15_8_BYTE_ADDR       	(__GPIO_BASE + 0x10 )
#define GPIO_ID_GP21_I2C_BYTE_ADDR       		(__GPIO_BASE + 0x15 )
#define GPIO_ID_GP22_UART_0_1_BYTE_ADDR       	(__GPIO_BASE + 0x16 )
#define GPIO_ID_GP23_UART_2_3_BYTE_ADDR       	(__GPIO_BASE + 0x17 )
#define GPIO_ID_GP24_TSDIN_7_0_BYTE_ADDR       	(__GPIO_BASE + 0x18 )
#define GPIO_ID_GP25_TS_BYTE_ADDR       		(__GPIO_BASE + 0x19 )
#define GPIO_ID_GP26_KPAD_BYTE_ADDR       		(__GPIO_BASE + 0x1A )
#define GPIO_ID_GP27_SPDIF_BYTE_ADDR       		(__GPIO_BASE + 0x1B )
#define GPIO_ID_GP28_NAND_CFG_0_BYTE_ADDR   	(__GPIO_BASE + 0x1C )
#define GPIO_ID_GP29_NAND_CFG_1_BYTE_ADDR       (__GPIO_BASE + 0x1D )
#define GPIO_ID_GP30_SPI_FLASH_BYTE_ADDR 		(__GPIO_BASE + 0x1E )
#define GPIO_ID_GP31_PWM_BYTE_ADDR 				(__GPIO_BASE + 0x1F )
#define GPIO_ID_GP32_HDMI_BYTE_ADDR 			(__GPIO_BASE + 0x20 )
#define GPIO_ID_GP60_USB_BYTE_ADDR				(__GPIO_BASE + 0x3C )
#define GPIO_CTRL_GP0_BYTE_ADDR 				(__GPIO_BASE + 0x40 )
#define GPIO_CTRL_GP1_BYTE_ADDR 				(__GPIO_BASE + 0x41 )
#define GPIO_CTRL_GP2_WAKEUP_SUS_BYTE_ADDR 	    (__GPIO_BASE + 0x42 )
#define GPIO_CTRL_GP3_SD0CD_BYTE_ADDR 		    (__GPIO_BASE + 0x43 )
#define GPIO_CTRL_GP4_VDOUT_7_0_BYTE_ADDR    	(__GPIO_BASE + 0x44 )
#define GPIO_CTRL_GP5_VDOUT_15_8_BYTE_ADDR      (__GPIO_BASE + 0x45 )
#define GPIO_CTRL_GP6_VDOUT_23_16_BYTE_ADDR 	(__GPIO_BASE + 0x46 )
#define GPIO_CTRL_GP7_VD_BYTE_ADDR       		(__GPIO_BASE + 0x47 )
#define GPIO_CTRL_GP8_VDIN_BYTE_ADDR     		(__GPIO_BASE + 0x48 )
#define GPIO_CTRL_GP9_VSYNC_BYTE_ADDR 		    (__GPIO_BASE + 0x49 )
#define GPIO_CTRL_GP10_I2S_BYTE_ADDR 			(__GPIO_BASE + 0x4A )
#define GPIO_CTRL_GP11_SPI_BYTE_ADDR      	    (__GPIO_BASE + 0x4B )
#define GPIO_CTRL_GP14_SD_BYTE_ADDR       	    (__GPIO_BASE + 0x4E )
#define GPIO_CTRL_GP15_NAND_7_0_BYTE_ADDR       (__GPIO_BASE + 0x4F )
#define GPIO_CTRL_GP16_NAND_15_8_BYTE_ADDR      (__GPIO_BASE + 0x50 )
#define GPIO_CTRL_GP18_SD0PWRSW_BYTE_ADDR		(__GPIO_BASE + 0x52 )
#define GPIO_CTRL_GP21_I2C_BYTE_ADDR       	    (__GPIO_BASE + 0x55 )
#define GPIO_CTRL_GP22_UART_0_1_BYTE_ADDR       (__GPIO_BASE + 0x56 )
#define GPIO_CTRL_GP23_UART_2_3_BYTE_ADDR       (__GPIO_BASE + 0x57 )
#define GPIO_CTRL_GP24_TSDIN_7_0_BYTE_ADDR      (__GPIO_BASE + 0x58 )
#define GPIO_CTRL_GP25_TS_BYTE_ADDR       	    (__GPIO_BASE + 0x59 )
#define GPIO_CTRL_GP26_KPAD_BYTE_ADDR       	(__GPIO_BASE + 0x5A )
#define GPIO_CTRL_GP27_SPDIF_BYTE_ADDR       	(__GPIO_BASE + 0x5B )
#define GPIO_CTRL_GP28_NAND_CFG_0_BYTE_ADDR     (__GPIO_BASE + 0x5C )
#define GPIO_CTRL_GP29_NAND_CFG_1_BYTE_ADDR     (__GPIO_BASE + 0x5D )
#define GPIO_CTRL_GP30_SPI_FLASH_BYTE_ADDR 	    (__GPIO_BASE + 0x5E )
#define GPIO_CTRL_GP31_PWM_BYTE_ADDR 			(__GPIO_BASE + 0x5F )
#define GPIO_CTRL_GP32_HDMI_BYTE_ADDR 			(__GPIO_BASE + 0x60 )
#define GPIO_CTRL_GP60_USB_BYTE_ADDR			(__GPIO_BASE + 0x7C )
#define GPIO_OC_GP0_BYTE_ADDR 			    	(__GPIO_BASE + 0x80 )
#define GPIO_OC_GP1_BYTE_ADDR 			        (__GPIO_BASE + 0x81 )
#define GPIO_OC_GP2_WAKEUP_SUS_BYTE_ADDR 	    (__GPIO_BASE + 0x82 )
#define GPIO_OC_GP3_SD0CD_BYTE_ADDR 		    (__GPIO_BASE + 0x83 )
#define GPIO_OC_GP4_VDOUT_7_0_BYTE_ADDR         (__GPIO_BASE + 0x84 )
#define GPIO_OC_GP5_VDOUT_15_8_BYTE_ADDR        (__GPIO_BASE + 0x85 )
#define GPIO_OC_GP6_VDOUT_23_16_BYTE_ADDR       (__GPIO_BASE + 0x86 )
#define GPIO_OC_GP7_VD_BYTE_ADDR       	        (__GPIO_BASE + 0x87 )
#define GPIO_OC_GP8_VDIN_BYTE_ADDR     	        (__GPIO_BASE + 0x88 )
#define GPIO_OC_GP9_VSYNC_BYTE_ADDR 		    (__GPIO_BASE + 0x89 )
#define GPIO_OC_GP10_I2S_BYTE_ADDR 		        (__GPIO_BASE + 0x8A )
#define GPIO_OC_GP11_SPI_BYTE_ADDR      	    (__GPIO_BASE + 0x8B )
#define GPIO_OC_GP14_SD_BYTE_ADDR       	    (__GPIO_BASE + 0x8E )
#define GPIO_OC_GP15_NAND_7_0_BYTE_ADDR         (__GPIO_BASE + 0x8F )
#define GPIO_OC_GP16_NAND_15_8_BYTE_ADDR        (__GPIO_BASE + 0x90 )
#define GPIO_OC_GP18_SD0PWRSW_BYTE_ADDR        	(__GPIO_BASE + 0x92 )
#define GPIO_OC_GP21_I2C_BYTE_ADDR       	    (__GPIO_BASE + 0x95 )
#define GPIO_OC_GP22_UART_0_1_BYTE_ADDR         (__GPIO_BASE + 0x96 )
#define GPIO_OC_GP23_UART_2_3_BYTE_ADDR         (__GPIO_BASE + 0x97 )
#define GPIO_OC_GP24_TSDIN_7_0_BYTE_ADDR        (__GPIO_BASE + 0x98 )
#define GPIO_OC_GP25_TS_BYTE_ADDR       	    (__GPIO_BASE + 0x99 )
#define GPIO_OC_GP26_KPAD_BYTE_ADDR             (__GPIO_BASE + 0x9A )
#define GPIO_OC_GP27_SPDIF_BYTE_ADDR            (__GPIO_BASE + 0x9B )
#define GPIO_OC_GP28_NAND_CFG_0_BYTE_ADDR       (__GPIO_BASE + 0x9C )
#define GPIO_OC_GP29_NAND_CFG_1_BYTE_ADDR       (__GPIO_BASE + 0x9D )
#define GPIO_OC_GP30_SPI_FLASH_BYTE_ADDR 	    (__GPIO_BASE + 0x9E )
#define GPIO_OC_GP31_PWM_BYTE_ADDR 		        (__GPIO_BASE + 0x9F )
#define GPIO_OC_GP32_HDMI_BYTE_ADDR				(__GPIO_BASE + 0xA0 )
#define GPIO_OC_GP60_USB_BYTE_ADDR				(__GPIO_BASE + 0xBC )
#define GPIO_OD_GP0_BYTE_ADDR 			    	(__GPIO_BASE + 0xC0 )
#define GPIO_OD_GP1_BYTE_ADDR 			        (__GPIO_BASE + 0xC1 )
#define GPIO_OD_GP2_WAKEUP_SUS_BYTE_ADDR 	    (__GPIO_BASE + 0xC2 )
#define GPIO_OD_GP3_SD0CD_BYTE_ADDR 		    (__GPIO_BASE + 0xC3 )
#define GPIO_OD_GP4_VDOUT_7_0_BYTE_ADDR         (__GPIO_BASE + 0xC4 )
#define GPIO_OD_GP5_VDOUT_15_8_BYTE_ADDR        (__GPIO_BASE + 0xC5 )
#define GPIO_OD_GP6_VDOUT_23_16_BYTE_ADDR       (__GPIO_BASE + 0xC6 )
#define GPIO_OD_GP7_VD_BYTE_ADDR       	        (__GPIO_BASE + 0xC7 )
#define GPIO_OD_GP8_VDIN_BYTE_ADDR     	        (__GPIO_BASE + 0xC8 )
#define GPIO_OD_GP9_VSYNC_BYTE_ADDR 		    (__GPIO_BASE + 0xC9 )
#define GPIO_OD_GP10_I2S_BYTE_ADDR 		        (__GPIO_BASE + 0xCA )
#define GPIO_OD_GP11_SPI_BYTE_ADDR      	    (__GPIO_BASE + 0xCB )
#define GPIO_OD_GP14_SD_BYTE_ADDR       	    (__GPIO_BASE + 0xCE )
#define GPIO_OD_GP15_NAND_7_0_BYTE_ADDR         (__GPIO_BASE + 0xCF )
#define GPIO_OD_GP16_NAND_15_8_BYTE_ADDR        (__GPIO_BASE + 0xD0 )
#define GPIO_OD_GP18_SD0PWRSW_BYTE_ADDR			(__GPIO_BASE + 0xD2 )
#define GPIO_OD_GP21_I2C_BYTE_ADDR       	    (__GPIO_BASE + 0xD5 )
#define GPIO_OD_GP22_UART_0_1_BYTE_ADDR         (__GPIO_BASE + 0xD6 )
#define GPIO_OD_GP23_UART_2_3_BYTE_ADDR         (__GPIO_BASE + 0xD7 )
#define GPIO_OD_GP24_TSDIN_7_0_BYTE_ADDR        (__GPIO_BASE + 0xD8 )
#define GPIO_OD_GP25_TS_BYTE_ADDR       	    (__GPIO_BASE + 0xD9 )
#define GPIO_OD_GP26_KPAD_BYTE_ADDR             (__GPIO_BASE + 0xDA )
#define GPIO_OD_GP27_SPDIF_BYTE_ADDR            (__GPIO_BASE + 0xDB )
#define GPIO_OD_GP28_NAND_CFG_0_BYTE_ADDR       (__GPIO_BASE + 0xDC )
#define GPIO_OD_GP29_NAND_CFG_1_BYTE_ADDR       (__GPIO_BASE + 0xDD )
#define GPIO_OD_GP30_SPI_FLASH_BYTE_ADDR 	    (__GPIO_BASE + 0xDE )
#define GPIO_OD_GP31_PWM_BYTE_ADDR 		        (__GPIO_BASE + 0xDF )
#define GPIO_OD_GP32_HDMI_BYTE_ADDR		        (__GPIO_BASE + 0xE0 )
#define GPIO_OD_GP60_USB_BYTE_ADDR				(__GPIO_BASE + 0xFC )
#define GPIO_STRAP_STATUS_ADDR					(__GPIO_BASE + 0x100 )
#define GPIO_AHB_CTRL_4BYTE_ADDR 				(__GPIO_BASE + 0x108 )
#define GPIO_USB_OP_CTRL_4BYTE_ADDR				(__GPIO_BASE + 0x10C )
#define GPIO_BONDING_OPTION_4BYTE_ADDR     		(__GPIO_BASE + 0x110 )
#define GPIO_PIN_SHARING_SEL_4BYTE_ADDR 		(__GPIO_BASE + 0x200 )
#define GPIO0_INT_REQ_TYPE_ADDR					(__GPIO_BASE + 0x300 )
#define GPIO1_INT_REQ_TYPE_ADDR					(__GPIO_BASE + 0x301 )
#define GPIO2_INT_REQ_TYPE_ADDR					(__GPIO_BASE + 0x302 )
#define GPIO3_INT_REQ_TYPE_ADDR					(__GPIO_BASE + 0x303 )
#define GPIO4_INT_REQ_TYPE_ADDR					(__GPIO_BASE + 0x304 )
#define GPIO5_INT_REQ_TYPE_ADDR					(__GPIO_BASE + 0x305 )
#define GPIO6_INT_REQ_TYPE_ADDR					(__GPIO_BASE + 0x306 )
#define GPIO7_INT_REQ_TYPE_ADDR					(__GPIO_BASE + 0x307 )
#define GPIO8_INT_REQ_TYPE_ADDR					(__GPIO_BASE + 0x308 )
#define GPIO9_INT_REQ_TYPE_ADDR					(__GPIO_BASE + 0x309 )
#define GPIO10_INT_REQ_TYPE_ADDR				(__GPIO_BASE + 0x30A )
#define GPIO11_INT_REQ_TYPE_ADDR				(__GPIO_BASE + 0x30B )
#define KPADROW0_INT_REQ_TYPE_ADDR				(__GPIO_BASE + 0x30C )
#define KPADROW1_INT_REQ_TYPE_ADDR				(__GPIO_BASE + 0x30D )
#define KPADROW2_INT_REQ_TYPE_ADDR				(__GPIO_BASE + 0x30E )
#define KPADROW3_INT_REQ_TYPE_ADDR				(__GPIO_BASE + 0x30F )
#define KPADCOL0_INT_REQ_TYPE_ADDR				(__GPIO_BASE + 0x310 )
#define KPADCOL1_INT_REQ_TYPE_ADDR				(__GPIO_BASE + 0x311 )
#define KPADCOL2_INT_REQ_TYPE_ADDR				(__GPIO_BASE + 0x312 )
#define KPADCOL3_INT_REQ_TYPE_ADDR				(__GPIO_BASE + 0x313 )
#define UART1RTS_INT_REQ_TYPE_ADDR				(__GPIO_BASE + 0x314 )
#define UART1TXD_INT_REQ_TYPE_ADDR				(__GPIO_BASE + 0x315 )
#define UART1CTS_INT_REQ_TYPE_ADDR				(__GPIO_BASE + 0x316 )
#define UART1RXD_INT_REQ_TYPE_ADDR				(__GPIO_BASE + 0x317 )
#define UART2RTS_INT_REQ_TYPE_ADDR				(__GPIO_BASE + 0x318 )
#define UART2TXD_INT_REQ_TYPE_ADDR				(__GPIO_BASE + 0x319 )
#define UART2CTS_INT_REQ_TYPE_ADDR				(__GPIO_BASE + 0x31A )
#define UART2RXD_INT_REQ_TYPE_ADDR				(__GPIO_BASE + 0x31B )
#define UART3RTS_INT_REQ_TYPE_ADDR				(__GPIO_BASE + 0x31C )
#define UART3TXD_INT_REQ_TYPE_ADDR				(__GPIO_BASE + 0x31D )
#define UART3CTS_INT_REQ_TYPE_ADDR				(__GPIO_BASE + 0x31E )
#define UART3RXD_INT_REQ_TYPE_ADDR				(__GPIO_BASE + 0x31F )
#define I2SDACDAT0_INT_REQ_TYPE_ADDR			(__GPIO_BASE + 0x320 )
#define I2SDACDAT1_INT_REQ_TYPE_ADDR			(__GPIO_BASE + 0x321 )
#define I2SDACDAT2_INT_REQ_TYPE_ADDR			(__GPIO_BASE + 0x322 )
#define I2SDACDAT3_INT_REQ_TYPE_ADDR			(__GPIO_BASE + 0x323 )
#define I2SADCMCLK_INT_REQ_TYPE_ADDR			(__GPIO_BASE + 0x324 )
#define I2SDACLRC_INT_REQ_TYPE_ADDR				(__GPIO_BASE + 0x325 )
#define I2SDACBCLK_INT_REQ_TYPE_ADDR			(__GPIO_BASE + 0x326 )
#define I2SDACMCLK_INT_REQ_TYPE_ADDR			(__GPIO_BASE + 0x327 )
#define SPI0CLK_INT_REQ_TYPE_ADDR				(__GPIO_BASE + 0x328 )
#define SPI0MISO_INT_REQ_TYPE_ADDR				(__GPIO_BASE + 0x329 )
#define SPI0MOSI_INT_REQ_TYPE_ADDR				(__GPIO_BASE + 0x32A )
#define SPI0SS0_INT_REQ_TYPE_ADDR				(__GPIO_BASE + 0x32B )
#define PWMOUT1_INT_REQ_TYPE_ADDR				(__GPIO_BASE + 0x32C )
#define PWMOUT0_INT_REQ_TYPE_ADDR				(__GPIO_BASE + 0x32D )
#define GPIO0_INT_REQ_STS_ADDR					(__GPIO_BASE + 0x360 )
#define GPIO1_INT_REQ_STS_ADDR					(__GPIO_BASE + 0x361 )
#define GPIO2_INT_REQ_STS_ADDR					(__GPIO_BASE + 0x362 )
#define GPIO3_INT_REQ_STS_ADDR					(__GPIO_BASE + 0x363 )
#define GPIO4_INT_REQ_STS_ADDR					(__GPIO_BASE + 0x364 )
#define GPIO5_INT_REQ_STS_ADDR					(__GPIO_BASE + 0x365 )
#define GPIO_IO_DRV_SD_4BYTE_ADDR 				(__GPIO_BASE + 0x400 )
#define GPIO_IO_DRV_VID_4BYTE_ADDR 				(__GPIO_BASE + 0x404 )
#define GPIO_IO_DRV_SPI_4BYTE_ADDR 				(__GPIO_BASE + 0x408 )
#define GPIO_IO_DRV_NAND_4BYTE_ADDR 			(__GPIO_BASE + 0x40C )
#define GPIO_IO_DRV_XD_4BYTE_ADDR 				(__GPIO_BASE + 0x410 )
#define GPIO_IO_DRV_TS_4BYTE_ADDR 				(__GPIO_BASE + 0x414 )
#define GPIO_IO_DRV_I2S_4BYTE_ADDR 				(__GPIO_BASE + 0x418 )
#define GPIO_IO_DRV_PCM_4BYTE_ADDR 				(__GPIO_BASE + 0x41C )
#define GPIO_IO_DRV_PWM_4BYTE_ADDR 				(__GPIO_BASE + 0x420 )
#define GPIO_IO_DRV_GPIOL_4BYTE_ADDR			(__GPIO_BASE + 0x424 )
#define GPIO_IO_DRV_GPIOH_4BYTE_ADDR			(__GPIO_BASE + 0x428 )
#define GPIO_IO_DRV_HDMI_4BYTE_ADDR 			(__GPIO_BASE + 0x42C )
#define GPIO_IO_DRV_KEYPAD_4BYTE_ADDR 			(__GPIO_BASE + 0x430 )
#define GPIO_IO_DRV_JTAG_4BYTE_ADDR 			(__GPIO_BASE + 0x434 )
#define GPIO_IO_DRV_USB_4BYTE_ADDR 				(__GPIO_BASE + 0x460 )
#define GPIO_IO_DRV_SD0CD_4BYTE_ADDR 			(__GPIO_BASE + 0x464 )
#define GPIO_PULL_EN_GP0_BYTE_ADDR 			    (__GPIO_BASE + 0x480 )
#define GPIO_PULL_EN_GP1_BYTE_ADDR 			    (__GPIO_BASE + 0x481 )
#define GPIO_PULL_EN_GP2_WAKEUP_SUS_BYTE_ADDR 	(__GPIO_BASE + 0x482 )
#define GPIO_PULL_EN_GP3_SD0CD_BYTE_ADDR 		(__GPIO_BASE + 0x483 )
#define GPIO_PULL_EN_GP4_VDOUT_7_0_BYTE_ADDR    (__GPIO_BASE + 0x484 )
#define GPIO_PULL_EN_GP5_VDOUT_15_8_BYTE_ADDR   (__GPIO_BASE + 0x485 )
#define GPIO_PULL_EN_GP6_VDOUT_23_16_BYTE_ADDR  (__GPIO_BASE + 0x486 )
#define GPIO_PULL_EN_GP7_VD_BYTE_ADDR       	(__GPIO_BASE + 0x487 )
#define GPIO_PULL_EN_GP8_VDIN_BYTE_ADDR     	(__GPIO_BASE + 0x488 )
#define GPIO_PULL_EN_GP9_VSYNC_BYTE_ADDR 		(__GPIO_BASE + 0x489 )
#define GPIO_PULL_EN_GP10_I2S_BYTE_ADDR 		(__GPIO_BASE + 0x48A )
#define GPIO_PULL_EN_GP11_SPI_BYTE_ADDR      	(__GPIO_BASE + 0x48B )
#define GPIO_PULL_EN_GP12_XD_BYTE_ADDR       	(__GPIO_BASE + 0x48C )
#define GPIO_PULL_EN_GP13_XDIO_BYTE_ADDR        (__GPIO_BASE + 0x48D )
#define GPIO_PULL_EN_GP14_SD_BYTE_ADDR       	(__GPIO_BASE + 0x48E )
#define GPIO_PULL_EN_GP15_NAND_7_0_BYTE_ADDR    (__GPIO_BASE + 0x48F )
#define GPIO_PULL_EN_GP16_NAND_15_8_BYTE_ADDR   (__GPIO_BASE + 0x490 )
#define GPIO_PULL_EN_GP18_SD0PWRSW_BYTE_ADDR	(__GPIO_BASE + 0x492 )
#define GPIO_PULL_EN_GP21_I2C_BYTE_ADDR       	(__GPIO_BASE + 0x495 )
#define GPIO_PULL_EN_GP22_UART_0_1_BYTE_ADDR    (__GPIO_BASE + 0x496 )
#define GPIO_PULL_EN_GP23_UART_2_3_BYTE_ADDR    (__GPIO_BASE + 0x497 )
#define GPIO_PULL_EN_GP24_TSDIN_7_0_BYTE_ADDR   (__GPIO_BASE + 0x498 )
#define GPIO_PULL_EN_GP25_TS_BYTE_ADDR       	(__GPIO_BASE + 0x499 )
#define GPIO_PULL_EN_GP26_KPAD_BYTE_ADDR        (__GPIO_BASE + 0x49A )
#define GPIO_PULL_EN_GP27_SPDIF_BYTE_ADDR       (__GPIO_BASE + 0x49B )
#define GPIO_PULL_EN_GP28_NAND_CFG_0_BYTE_ADDR  (__GPIO_BASE + 0x49C )
#define GPIO_PULL_EN_GP29_NAND_CFG_1_BYTE_ADDR  (__GPIO_BASE + 0x49D )
#define GPIO_PULL_EN_GP30_SPI_FLASH_BYTE_ADDR 	(__GPIO_BASE + 0x49E )
#define GPIO_PULL_EN_GP31_PWM_BYTE_ADDR 		(__GPIO_BASE + 0x49F )
#define GPIO_PULL_EN_GP32_HDMI_BYTE_ADDR 		(__GPIO_BASE + 0x4A0 )
#define GPIO_PULL_EN_GP60_USB_TYTE_ADDR			(__GPIO_BASE + 0x4BC )
#define GPIO_PULL_CTRL_GP0_BYTE_ADDR 			    (__GPIO_BASE + 0x4C0 )
#define GPIO_PULL_CTRL_GP1_BYTE_ADDR 			    (__GPIO_BASE + 0x4C1 )
#define GPIO_PULL_CTRL_GP2_WAKEUP_SUS_BYTE_ADDR 	(__GPIO_BASE + 0x4C2 )
#define GPIO_PULL_CTRL_GP3_SD0CD_BYTE_ADDR			(__GPIO_BASE + 0x4C3 )
#define GPIO_PULL_CTRL_GP4_VDOUT_7_0_BYTE_ADDR      (__GPIO_BASE + 0x4C4 )
#define GPIO_PULL_CTRL_GP5_VDOUT_15_8_BYTE_ADDR     (__GPIO_BASE + 0x4C5 )
#define GPIO_PULL_CTRL_GP6_VDOUT_23_16_BYTE_ADDR    (__GPIO_BASE + 0x4C6 )
#define GPIO_PULL_CTRL_GP7_VD_BYTE_ADDR       	    (__GPIO_BASE + 0x4C7 )
#define GPIO_PULL_CTRL_GP8_VDIN_BYTE_ADDR     	    (__GPIO_BASE + 0x4C8 )
#define GPIO_PULL_CTRL_GP9_VSYNC_BYTE_ADDR 		    (__GPIO_BASE + 0x4C9 )
#define GPIO_PULL_CTRL_GP10_I2S_BYTE_ADDR 		    (__GPIO_BASE + 0x4CA )
#define GPIO_PULL_CTRL_GP11_SPI_BYTE_ADDR      	    (__GPIO_BASE + 0x4CB )
#define GPIO_PULL_CTRL_GP12_XD_BYTE_ADDR       	    (__GPIO_BASE + 0x4CC )
#define GPIO_PULL_CTRL_GP13_XDIO_BYTE_ADDR          (__GPIO_BASE + 0x4CD )
#define GPIO_PULL_CTRL_GP14_SD_BYTE_ADDR       	    (__GPIO_BASE + 0x4CE )
#define GPIO_PULL_CTRL_GP15_NAND_7_0_BYTE_ADDR      (__GPIO_BASE + 0x4CF )
#define GPIO_PULL_CTRL_GP16_NAND_15_8_BYTE_ADDR     (__GPIO_BASE + 0x4D0 )
#define GPIO_PULL_CTRL_GP18_SD0PWRSW_BYTE_ADDR     (__GPIO_BASE + 0x4D2 )
#define GPIO_PULL_CTRL_GP21_I2C_BYTE_ADDR       	(__GPIO_BASE + 0x4D5 )
#define GPIO_PULL_CTRL_GP22_UART_0_1_BYTE_ADDR      (__GPIO_BASE + 0x4D6 )
#define GPIO_PULL_CTRL_GP23_UART_2_3_BYTE_ADDR      (__GPIO_BASE + 0x4D7 )
#define GPIO_PULL_CTRL_GP24_TSDIN_7_0_BYTE_ADDR     (__GPIO_BASE + 0x4D8 )
#define GPIO_PULL_CTRL_GP25_TS_BYTE_ADDR       	    (__GPIO_BASE + 0x4D9 )
#define GPIO_PULL_CTRL_GP26_KPAD_BYTE_ADDR          (__GPIO_BASE + 0x4DA )
#define GPIO_PULL_CTRL_GP27_SPDIF_BYTE_ADDR         (__GPIO_BASE + 0x4DB )
#define GPIO_PULL_CTRL_GP28_NAND_CFG_0_BYTE_ADDR    (__GPIO_BASE + 0x4DC )
#define GPIO_PULL_CTRL_GP29_NAND_CFG_1_BYTE_ADDR    (__GPIO_BASE + 0x4DD )
#define GPIO_PULL_CTRL_GP30_SPI_FLASH_BYTE_ADDR 	(__GPIO_BASE + 0x4DE )
#define GPIO_PULL_CTRL_GP31_PWM_BYTE_ADDR 		    (__GPIO_BASE + 0x4DF )
#define GPIO_PULL_CTRL_GP32_HDMI_BYTE_ADDR 		    (__GPIO_BASE + 0x4DF )
#define GPIO_PULL_CTRL_GP60_USB_BYTE_ADDR			(__GPIO_BASE + 0x4FC )


#define GPIO_ID_GP0_BYTE_REG 					REG8_PTR(GPIO_ID_GP0_BYTE_ADDR 				    )
#define GPIO_ID_GP1_BYTE_REG 					REG8_PTR(GPIO_ID_GP1_BYTE_ADDR 				    )
#define GPIO_ID_GP2_WAKEUP_SUS_BYTE_REG 		REG8_PTR(GPIO_ID_GP2_WAKEUP_SUS_BYTE_ADDR 	    )
#define GPIO_ID_GP3_SD0CD_BYTE_REG 				REG8_PTR(GPIO_ID_GP3_SD0CD_BYTE_ADDR 		    )
#define GPIO_ID_GP4_VDOUT_7_0_BYTE_REG    	    REG8_PTR(GPIO_ID_GP4_VDOUT_7_0_BYTE_ADDR    	)
#define GPIO_ID_GP5_VDOUT_15_8_BYTE_REG        	REG8_PTR(GPIO_ID_GP5_VDOUT_15_8_BYTE_ADDR       )
#define GPIO_ID_GP6_VDOUT_23_16_BYTE_REG 		REG8_PTR(GPIO_ID_GP6_VDOUT_23_16_BYTE_ADDR 	    )
#define GPIO_ID_GP7_VD_BYTE_REG       			REG8_PTR(GPIO_ID_GP7_VD_BYTE_ADDR       		)
#define GPIO_ID_GP8_VDIN_BYTE_REG     			REG8_PTR(GPIO_ID_GP8_VDIN_BYTE_ADDR     		)
#define GPIO_ID_GP9_VSYNC_BYTE_REG 				REG8_PTR(GPIO_ID_GP9_VSYNC_BYTE_ADDR 		    )
#define GPIO_ID_GP10_I2S_BYTE_REG 				REG8_PTR(GPIO_ID_GP10_I2S_BYTE_ADDR 			)
#define GPIO_ID_GP11_SPI_BYTE_REG      			REG8_PTR(GPIO_ID_GP11_SPI_BYTE_ADDR      	    )
#define GPIO_ID_GP14_SD_BYTE_REG       			REG8_PTR(GPIO_ID_GP14_SD_BYTE_ADDR       	    )
#define GPIO_ID_GP15_NAND_7_0_BYTE_REG       	REG8_PTR(GPIO_ID_GP15_NAND_7_0_BYTE_ADDR        )
#define GPIO_ID_GP16_NAND_15_8_BYTE_REG       	REG8_PTR(GPIO_ID_GP16_NAND_15_8_BYTE_ADDR       )
#define GPIO_ID_GP21_I2C_BYTE_REG       		REG8_PTR(GPIO_ID_GP21_I2C_BYTE_ADDR       	    )
#define GPIO_ID_GP22_UART_0_1_BYTE_REG       	REG8_PTR(GPIO_ID_GP22_UART_0_1_BYTE_ADDR        )
#define GPIO_ID_GP23_UART_2_3_BYTE_REG       	REG8_PTR(GPIO_ID_GP23_UART_2_3_BYTE_ADDR        )
#define GPIO_ID_GP24_TSDIN_7_0_BYTE_REG       	REG8_PTR(GPIO_ID_GP24_TSDIN_7_0_BYTE_ADDR       )
#define GPIO_ID_GP25_TS_BYTE_REG       			REG8_PTR(GPIO_ID_GP25_TS_BYTE_ADDR       	    )
#define GPIO_ID_GP26_KPAD_BYTE_REG       		REG8_PTR(GPIO_ID_GP26_KPAD_BYTE_ADDR       	    )
#define GPIO_ID_GP27_SPDIF_BYTE_REG       		REG8_PTR(GPIO_ID_GP27_SPDIF_BYTE_ADDR       	)
#define GPIO_ID_GP28_NAND_CFG_0_BYTE_REG   	    REG8_PTR(GPIO_ID_GP28_NAND_CFG_0_BYTE_ADDR      )
#define GPIO_ID_GP29_NAND_CFG_1_BYTE_REG        REG8_PTR(GPIO_ID_GP29_NAND_CFG_1_BYTE_ADDR      )
#define GPIO_ID_GP30_SPI_FLASH_BYTE_REG 		REG8_PTR(GPIO_ID_GP30_SPI_FLASH_BYTE_ADDR 	    )
#define GPIO_ID_GP31_PWM_BYTE_REG 				REG8_PTR(GPIO_ID_GP31_PWM_BYTE_ADDR 			)
#define GPIO_ID_GP31_HDMI_BYTE_REG 				REG8_PTR(GPIO_ID_GP32_HDMI_BYTE_ADDR 			)
#define GPIO_ID_GP60_USB_BYTE_REG				REG8_PTR(GPIO_ID_GP60_USB_BYTE_ADDR				)
#define GPIO_CTRL_GP0_BYTE_REG 					REG8_PTR(GPIO_CTRL_GP0_BYTE_ADDR 			    )
#define GPIO_CTRL_GP1_BYTE_REG 					REG8_PTR(GPIO_CTRL_GP1_BYTE_ADDR 			    )
#define GPIO_CTRL_GP2_WAKEUP_SUS_BYTE_REG 	    REG8_PTR(GPIO_CTRL_GP2_WAKEUP_SUS_BYTE_ADDR 	)
#define GPIO_CTRL_GP3_SD0CD_BYTE_REG 		    REG8_PTR(GPIO_CTRL_GP3_SD0CD_BYTE_ADDR			)
#define GPIO_CTRL_GP4_VDOUT_7_0_BYTE_REG    	REG8_PTR(GPIO_CTRL_GP4_VDOUT_7_0_BYTE_ADDR      )
#define GPIO_CTRL_GP5_VDOUT_15_8_BYTE_REG      	REG8_PTR(GPIO_CTRL_GP5_VDOUT_15_8_BYTE_ADDR     )
#define GPIO_CTRL_GP6_VDOUT_23_16_BYTE_REG 		REG8_PTR(GPIO_CTRL_GP6_VDOUT_23_16_BYTE_ADDR    )
#define GPIO_CTRL_GP7_VD_BYTE_REG       		REG8_PTR(GPIO_CTRL_GP7_VD_BYTE_ADDR       	    )
#define GPIO_CTRL_GP8_VDIN_BYTE_REG     		REG8_PTR(GPIO_CTRL_GP8_VDIN_BYTE_ADDR     	    )
#define GPIO_CTRL_GP9_VSYNC_BYTE_REG 		    REG8_PTR(GPIO_CTRL_GP9_VSYNC_BYTE_ADDR 		    )
#define GPIO_CTRL_GP10_I2S_BYTE_REG 			REG8_PTR(GPIO_CTRL_GP10_I2S_BYTE_ADDR 		    )
#define GPIO_CTRL_GP11_SPI_BYTE_REG      	    REG8_PTR(GPIO_CTRL_GP11_SPI_BYTE_ADDR      	    )
#define GPIO_CTRL_GP14_SD_BYTE_REG       	    REG8_PTR(GPIO_CTRL_GP14_SD_BYTE_ADDR       	    )
#define GPIO_CTRL_GP15_NAND_7_0_BYTE_REG        REG8_PTR(GPIO_CTRL_GP15_NAND_7_0_BYTE_ADDR      )
#define GPIO_CTRL_GP16_NAND_15_8_BYTE_REG       REG8_PTR(GPIO_CTRL_GP16_NAND_15_8_BYTE_ADDR     )
#define GPIO_CTRL_GP18_SD0PWRSW_BYTE_REG		REG8_PTR(GPIO_CTRL_GP18_SD0PWRSW_BYTE_ADDR		)
#define GPIO_CTRL_GP21_I2C_BYTE_REG       	    REG8_PTR(GPIO_CTRL_GP21_I2C_BYTE_ADDR       	)
#define GPIO_CTRL_GP22_UART_0_1_BYTE_REG        REG8_PTR(GPIO_CTRL_GP22_UART_0_1_BYTE_ADDR      )
#define GPIO_CTRL_GP23_UART_2_3_BYTE_REG        REG8_PTR(GPIO_CTRL_GP23_UART_2_3_BYTE_ADDR      )
#define GPIO_CTRL_GP24_TSDIN_7_0_BYTE_REG       REG8_PTR(GPIO_CTRL_GP24_TSDIN_7_0_BYTE_ADDR     )
#define GPIO_CTRL_GP25_TS_BYTE_REG       	    REG8_PTR(GPIO_CTRL_GP25_TS_BYTE_ADDR       	    )
#define GPIO_CTRL_GP26_KPAD_BYTE_REG       	 	REG8_PTR(GPIO_CTRL_GP26_KPAD_BYTE_ADDR          )
#define GPIO_CTRL_GP27_SPDIF_BYTE_REG       	REG8_PTR(GPIO_CTRL_GP27_SPDIF_BYTE_ADDR         )
#define GPIO_CTRL_GP28_NAND_CFG_0_BYTE_REG      REG8_PTR(GPIO_CTRL_GP28_NAND_CFG_0_BYTE_ADDR    )
#define GPIO_CTRL_GP29_NAND_CFG_1_BYTE_REG      REG8_PTR(GPIO_CTRL_GP29_NAND_CFG_1_BYTE_ADDR    )
#define GPIO_CTRL_GP30_SPI_FLASH_BYTE_REG 	    REG8_PTR(GPIO_CTRL_GP30_SPI_FLASH_BYTE_ADDR 	)
#define GPIO_CTRL_GP31_PWM_BYTE_REG 			REG8_PTR(GPIO_CTRL_GP31_PWM_BYTE_ADDR 		    )
#define GPIO_CTRL_GP32_HDMI_BYTE_REG 			REG8_PTR(GPIO_CTRL_GP32_HDMI_BYTE_ADDR 		    )
#define GPIO_CTRL_GP60_USB_BYTE_REG				REG8_PTR(GPIO_CTRL_GP60_USB_BYTE_ADDR			)
#define GPIO_OC_GP0_BYTE_REG 			    	REG8_PTR(GPIO_OC_GP0_BYTE_ADDR 			        )
#define GPIO_OC_GP1_BYTE_REG 			        REG8_PTR(GPIO_OC_GP1_BYTE_ADDR 			        )
#define GPIO_OC_GP2_WAKEUP_SUS_BYTE_REG 	    REG8_PTR(GPIO_OC_GP2_WAKEUP_SUS_BYTE_ADDR 	    )
#define GPIO_OC_GP3_SD0CD_BYTE_REG 		    	REG8_PTR(GPIO_OC_GP3_SD0CD_BYTE_ADDR 		    )
#define GPIO_OC_GP4_VDOUT_7_0_BYTE_REG          REG8_PTR(GPIO_OC_GP4_VDOUT_7_0_BYTE_ADDR        )
#define GPIO_OC_GP5_VDOUT_15_8_BYTE_REG         REG8_PTR(GPIO_OC_GP5_VDOUT_15_8_BYTE_ADDR       )
#define GPIO_OC_GP6_VDOUT_23_16_BYTE_REG        REG8_PTR(GPIO_OC_GP6_VDOUT_23_16_BYTE_ADDR      )
#define GPIO_OC_GP7_VD_BYTE_REG       	        REG8_PTR(GPIO_OC_GP7_VD_BYTE_ADDR       	    )
#define GPIO_OC_GP8_VDIN_BYTE_REG     	        REG8_PTR(GPIO_OC_GP8_VDIN_BYTE_ADDR     	    )
#define GPIO_OC_GP9_VSYNC_BYTE_REG 		     	REG8_PTR(GPIO_OC_GP9_VSYNC_BYTE_ADDR 		    )
#define GPIO_OC_GP10_I2S_BYTE_REG 		        REG8_PTR(GPIO_OC_GP10_I2S_BYTE_ADDR 		    )
#define GPIO_OC_GP11_SPI_BYTE_REG      	     	REG8_PTR(GPIO_OC_GP11_SPI_BYTE_ADDR      	    )
#define GPIO_OC_GP14_SD_BYTE_REG       	     	REG8_PTR(GPIO_OC_GP14_SD_BYTE_ADDR       	    )
#define GPIO_OC_GP15_NAND_7_0_BYTE_REG          REG8_PTR(GPIO_OC_GP15_NAND_7_0_BYTE_ADDR        )
#define GPIO_OC_GP16_NAND_15_8_BYTE_REG         REG8_PTR(GPIO_OC_GP16_NAND_15_8_BYTE_ADDR       )
#define GPIO_OC_GP18_SD0PWRSW_BYTE_REG			REG8_PTR(GPIO_OC_GP18_SD0PWRSW_BYTE_ADDR		)
#define GPIO_OC_GP21_I2C_BYTE_REG       	    REG8_PTR(GPIO_OC_GP21_I2C_BYTE_ADDR       	    )
#define GPIO_OC_GP22_UART_0_1_BYTE_REG          REG8_PTR(GPIO_OC_GP22_UART_0_1_BYTE_ADDR        )
#define GPIO_OC_GP23_UART_2_3_BYTE_REG          REG8_PTR(GPIO_OC_GP23_UART_2_3_BYTE_ADDR        )
#define GPIO_OC_GP24_TSDIN_7_0_BYTE_REG         REG8_PTR(GPIO_OC_GP24_TSDIN_7_0_BYTE_ADDR       )
#define GPIO_OC_GP25_TS_BYTE_REG       	     	REG8_PTR(GPIO_OC_GP25_TS_BYTE_ADDR       	    )
#define GPIO_OC_GP26_KPAD_BYTE_REG              REG8_PTR(GPIO_OC_GP26_KPAD_BYTE_ADDR            )
#define GPIO_OC_GP27_SPDIF_BYTE_REG             REG8_PTR(GPIO_OC_GP27_SPDIF_BYTE_ADDR           )
#define GPIO_OC_GP28_NAND_CFG_0_BYTE_REG        REG8_PTR(GPIO_OC_GP28_NAND_CFG_0_BYTE_ADDR      )
#define GPIO_OC_GP29_NAND_CFG_1_BYTE_REG        REG8_PTR(GPIO_OC_GP29_NAND_CFG_1_BYTE_ADDR      )
#define GPIO_OC_GP30_SPI_FLASH_BYTE_REG 	    REG8_PTR(GPIO_OC_GP30_SPI_FLASH_BYTE_ADDR 	    )
#define GPIO_OC_GP31_PWM_BYTE_REG 		        REG8_PTR(GPIO_OC_GP31_PWM_BYTE_ADDR 		    )
#define GPIO_OC_GP32_HDMI_BYTE_REG 		        REG8_PTR(GPIO_OC_GP32_HDMI_BYTE_ADDR 		    )
#define GPIO_OC_GP60_USB_BYTE_REG				REG8_PTR(GPIO_OC_GP60_USB_BYTE_ADDR				)
#define GPIO_OD_GP0_BYTE_REG 			    	REG8_PTR(GPIO_OD_GP0_BYTE_ADDR 			        )
#define GPIO_OD_GP1_BYTE_REG 			        REG8_PTR(GPIO_OD_GP1_BYTE_ADDR 			        )
#define GPIO_OD_GP2_WAKEUP_SUS_BYTE_REG 	    REG8_PTR(GPIO_OD_GP2_WAKEUP_SUS_BYTE_ADDR 	    )
#define GPIO_OD_GP3_SD0CD_BYTE_REG	 		    REG8_PTR(GPIO_OD_GP3_SD0CD_BYTE_ADDR 		    )
#define GPIO_OD_GP4_VDOUT_7_0_BYTE_REG          REG8_PTR(GPIO_OD_GP4_VDOUT_7_0_BYTE_ADDR        )
#define GPIO_OD_GP5_VDOUT_15_8_BYTE_REG         REG8_PTR(GPIO_OD_GP5_VDOUT_15_8_BYTE_ADDR       )
#define GPIO_OD_GP6_VDOUT_23_16_BYTE_REG        REG8_PTR(GPIO_OD_GP6_VDOUT_23_16_BYTE_ADDR      )
#define GPIO_OD_GP7_VD_BYTE_REG       	        REG8_PTR(GPIO_OD_GP7_VD_BYTE_ADDR       	    )
#define GPIO_OD_GP8_VDIN_BYTE_REG     	        REG8_PTR(GPIO_OD_GP8_VDIN_BYTE_ADDR     	    )
#define GPIO_OD_GP9_VSYNC_BYTE_REG 		     	REG8_PTR(GPIO_OD_GP9_VSYNC_BYTE_ADDR 		    )
#define GPIO_OD_GP10_I2S_BYTE_REG 		        REG8_PTR(GPIO_OD_GP10_I2S_BYTE_ADDR 		    )
#define GPIO_OD_GP11_SPI_BYTE_REG      	     	REG8_PTR(GPIO_OD_GP11_SPI_BYTE_ADDR      	    )
#define GPIO_OD_GP14_SD_BYTE_REG       	     	REG8_PTR(GPIO_OD_GP14_SD_BYTE_ADDR       	    )
#define GPIO_OD_GP15_NAND_7_0_BYTE_REG          REG8_PTR(GPIO_OD_GP15_NAND_7_0_BYTE_ADDR        )
#define GPIO_OD_GP16_NAND_15_8_BYTE_REG         REG8_PTR(GPIO_OD_GP16_NAND_15_8_BYTE_ADDR       )
#define GPIO_OD_GP18_SD0PWRSW_BYTE_REG			REG8_PTR(GPIO_OD_GP18_SD0PWRSW_BYTE_ADDR		)
#define GPIO_OD_GP21_I2C_BYTE_REG       	    REG8_PTR(GPIO_OD_GP21_I2C_BYTE_ADDR       	    )
#define GPIO_OD_GP22_UART_0_1_BYTE_REG          REG8_PTR(GPIO_OD_GP22_UART_0_1_BYTE_ADDR        )
#define GPIO_OD_GP23_UART_2_3_BYTE_REG          REG8_PTR(GPIO_OD_GP23_UART_2_3_BYTE_ADDR        )
#define GPIO_OD_GP24_TSDIN_7_0_BYTE_REG         REG8_PTR(GPIO_OD_GP24_TSDIN_7_0_BYTE_ADDR       )
#define GPIO_OD_GP25_TS_BYTE_REG       	     	REG8_PTR(GPIO_OD_GP25_TS_BYTE_ADDR       	    )
#define GPIO_OD_GP26_KPAD_BYTE_REG              REG8_PTR(GPIO_OD_GP26_KPAD_BYTE_ADDR            )
#define GPIO_OD_GP27_SPDIF_BYTE_REG             REG8_PTR(GPIO_OD_GP27_SPDIF_BYTE_ADDR           )
#define GPIO_OD_GP28_NAND_CFG_0_BYTE_REG        REG8_PTR(GPIO_OD_GP28_NAND_CFG_0_BYTE_ADDR      )
#define GPIO_OD_GP29_NAND_CFG_1_BYTE_REG        REG8_PTR(GPIO_OD_GP29_NAND_CFG_1_BYTE_ADDR      )
#define GPIO_OD_GP30_SPI_FLASH_BYTE_REG 	    REG8_PTR(GPIO_OD_GP30_SPI_FLASH_BYTE_ADDR 	    )
#define GPIO_OD_GP31_PWM_BYTE_REG 		        REG8_PTR(GPIO_OD_GP31_PWM_BYTE_ADDR 		    )
#define GPIO_OD_GP32_HDMI_BYTE_REG 		        REG8_PTR(GPIO_OD_GP32_HDMI_BYTE_ADDR 		    )
#define GPIO_OD_GP60_USB_BYTE_REG				REG8_PTR(GPIO_OD_GP60_USB_BYTE_ADDR				)
#define GPIO_STRAP_STATUS_REG					REG32_PTR(GPIO_STRAP_STATUS_ADDR				)
#define GPIO_AHB_CTRL_4BYTE_REG 				REG32_PTR(GPIO_AHB_CTRL_4BYTE_ADDR				)
#define GPIO_USB_OP_CTRL_4BYTE_ADDR_REG			REG32_PTR(GPIO_USB_OP_CTRL_4BYTE_ADDR			)
#define GPIO_BONDING_OPTION_4BYTE_REG     		REG32_PTR(GPIO_BONDING_OPTION_4BYTE_ADDR		)
#define GPIO_PIN_SHARING_SEL_4BYTE_REG 			REG32_PTR(GPIO_PIN_SHARING_SEL_4BYTE_ADDR		)
#define GPIO0_INT_REQ_TYPE_REG					REG8_PTR(GPIO0_INT_REQ_TYPE_ADDR)
#define GPIO1_INT_REQ_TYPE_REG					REG8_PTR(GPIO1_INT_REQ_TYPE_ADDR)
#define GPIO2_INT_REQ_TYPE_REG					REG8_PTR(GPIO2_INT_REQ_TYPE_ADDR)
#define GPIO3_INT_REQ_TYPE_REG					REG8_PTR(GPIO3_INT_REQ_TYPE_ADDR)
#define GPIO4_INT_REQ_TYPE_REG					REG8_PTR(GPIO4_INT_REQ_TYPE_ADDR)
#define GPIO5_INT_REQ_TYPE_REG					REG8_PTR(GPIO5_INT_REQ_TYPE_ADDR)
#define GPIO6_INT_REQ_TYPE_REG					REG8_PTR(GPIO6_INT_REQ_TYPE_ADDR)
#define GPIO7_INT_REQ_TYPE_REG 					REG8_PTR(GPIO7_INT_REQ_TYPE_ADDR)
#define GPIO8_INT_REQ_TYPE_REG 					REG8_PTR(GPIO8_INT_REQ_TYPE_ADDR)
#define GPIO9_INT_REQ_TYPE_REG 					REG8_PTR(GPIO9_INT_REQ_TYPE_ADDR)
#define GPIO10_INT_REQ_TYPE_REG 				REG8_PTR(GPIO10_INT_REQ_TYPE_ADDR)
#define GPIO11_INT_REQ_TYPE_REG 				REG8_PTR(GPIO11_INT_REQ_TYPE_ADDR)
#define KPADROW0_INT_REQ_TYPE_REG 				REG8_PTR(KPADROW0_INT_REQ_TYPE_ADDR)
#define KPADROW1_INT_REQ_TYPE_REG 				REG8_PTR(KPADROW1_INT_REQ_TYPE_ADDR)
#define KPADROW2_INT_REQ_TYPE_REG 				REG8_PTR(KPADROW2_INT_REQ_TYPE_ADDR)
#define KPADROW3_INT_REQ_TYPE_REG 				REG8_PTR(KPADROW3_INT_REQ_TYPE_ADDR)
#define KPADCOL0_INT_REQ_TYPE_REG 				REG8_PTR(KPADCOL0_INT_REQ_TYPE_ADDR)
#define KPADCOL1_INT_REQ_TYPE_REG 				REG8_PTR(KPADCOL1_INT_REQ_TYPE_ADDR)
#define KPADCOL2_INT_REQ_TYPE_REG 				REG8_PTR(KPADCOL2_INT_REQ_TYPE_ADDR)
#define KPADCOL3_INT_REQ_TYPE_REG 				REG8_PTR(KPADCOL3_INT_REQ_TYPE_ADDR)
#define UART1RTS_INT_REQ_TYPE_REG				REG8_PTR(UART1RTS_INT_REQ_TYPE_ADDR)
#define UART1TXD_INT_REQ_TYPE_REG				REG8_PTR(UART1TXD_INT_REQ_TYPE_ADDR)
#define UART1CTS_INT_REQ_TYPE_REG				REG8_PTR(UART1CTS_INT_REQ_TYPE_ADDR)
#define UART1RXD_INT_REQ_TYPE_REG				REG8_PTR(UART1RXD_INT_REQ_TYPE_ADDR)
#define UART2RTS_INT_REQ_TYPE_REG				REG8_PTR(UART2RTS_INT_REQ_TYPE_ADDR)
#define UART2TXD_INT_REQ_TYPE_REG				REG8_PTR(UART2TXD_INT_REQ_TYPE_ADDR)
#define UART2CTS_INT_REQ_TYPE_REG				REG8_PTR(UART2CTS_INT_REQ_TYPE_ADDR)
#define UART2RXD_INT_REQ_TYPE_REG				REG8_PTR(UART2RXD_INT_REQ_TYPE_ADDR)
#define UART3RTS_INT_REQ_TYPE_REG				REG8_PTR(UART3RTS_INT_REQ_TYPE_ADDR)
#define UART3TXD_INT_REQ_TYPE_REG				REG8_PTR(UART3TXD_INT_REQ_TYPE_ADDR)
#define UART3CTS_INT_REQ_TYPE_REG				REG8_PTR(UART3CTS_INT_REQ_TYPE_ADDR)
#define UART3RXD_INT_REQ_TYPE_REG				REG8_PTR(UART3RXD_INT_REQ_TYPE_ADDR)
#define I2SDACDAT0_INT_REQ_TYPE_REG 			REG8_PTR(I2SDACDAT0_INT_REQ_TYPE_ADDR)
#define I2SDACDAT1_INT_REQ_TYPE_REG 			REG8_PTR(I2SDACDAT1_INT_REQ_TYPE_ADDR)
#define I2SDACDAT2_INT_REQ_TYPE_REG 			REG8_PTR(I2SDACDAT2_INT_REQ_TYPE_ADDR)
#define I2SDACDAT3_INT_REQ_TYPE_REG 			REG8_PTR(I2SDACDAT3_INT_REQ_TYPE_ADDR)
#define I2SADCMCLK_INT_REQ_TYPE_REG 			REG8_PTR(I2SADCMCLK_INT_REQ_TYPE_ADDR)
#define I2SDACLRC_INT_REQ_TYPE_REG 				REG8_PTR(I2SDACLRC_INT_REQ_TYPE_ADDR)
#define I2SDACBCLK_INT_REQ_TYPE_REG				REG8_PTR(I2SDACBCLK_INT_REQ_TYPE_ADDR)
#define I2SDACMCLK_INT_REQ_TYPE_REG				REG8_PTR(I2SDACMCLK_INT_REQ_TYPE_ADDR)
#define SPI0CLK_INT_REQ_TYPE_REG				REG8_PTR(SPI0CLK_INT_REQ_TYPE_ADDR)
#define SPI0MISO_INT_REQ_TYPE_REG				REG8_PTR(SPI0MISO_INT_REQ_TYPE_ADDR)
#define SPI0MOSI_INT_REQ_TYPE_REG				REG8_PTR(SPI0MOSI_INT_REQ_TYPE_ADDR)
#define SPI0SS0_INT_REQ_TYPE_REG				REG8_PTR(SPI0SS0_INT_REQ_TYPE_ADDR)
#define PWMOUT1_INT_REQ_TYPE_REG				REG8_PTR(PWMOUT1_INT_REQ_TYPE_ADDR)
#define PWMOUT0_INT_REQ_TYPE_REG				REG8_PTR(PWMOUT0_INT_REQ_TYPE_ADDR)
#define GPIO0_INT_REQ_STS_REG 					REG8_PTR(GPIO0_INT_REQ_STS_ADDR)
#define GPIO1_INT_REQ_STS_REG 					REG8_PTR(GPIO1_INT_REQ_STS_ADDR)
#define GPIO2_INT_REQ_STS_REG 					REG8_PTR(GPIO2_INT_REQ_STS_ADDR)
#define GPIO3_INT_REQ_STS_REG 					REG8_PTR(GPIO3_INT_REQ_STS_ADDR)
#define GPIO4_INT_REQ_STS_REG 					REG8_PTR(GPIO4_INT_REQ_STS_ADDR)
#define GPIO5_INT_REQ_STS_REG 					REG8_PTR(GPIO5_INT_REQ_STS_ADDR)
#define GPIO_IO_DRV_SD_4BYTE_REG 				REG32_PTR(GPIO_IO_DRV_SD_4BYTE_ADDR 	    )
#define GPIO_IO_DRV_VID_4BYTE_REG 				REG32_PTR(GPIO_IO_DRV_VID_4BYTE_ADDR		)
#define GPIO_IO_DRV_SPI_4BYTE_REG 				REG32_PTR(GPIO_IO_DRV_SPI_4BYTE_ADDR		)
#define GPIO_IO_DRV_NAND_4BYTE_REG 				REG32_PTR(GPIO_IO_DRV_NAND_4BYTE_ADDR		)
#define GPIO_IO_DRV_XD_4BYTE_REG 				REG32_PTR(GPIO_IO_DRV_XD_4BYTE_ADDR 	    )
#define GPIO_IO_DRV_SF_4BYTE_REG 				REG32_PTR(GPIO_IO_DRV_SF_4BYTE_ADDR 	    )
#define GPIO_IO_DRV_I2S_4BYTE_REG 				REG32_PTR(GPIO_IO_DRV_I2S_4BYTE_ADDR		)
#define GPIO_IO_DRV_PCM_4BYTE_REG 				REG32_PTR(GPIO_IO_DRV_PCM_4BYTE_ADDR		)
#define GPIO_IO_DRV_PWM_4BYTE_REG 				REG32_PTR(GPIO_IO_DRV_PWM_4BYTE_ADDR		)
#define GPIO_IO_DRV_GPIOL_4BYTE_REG 			REG32_PTR(GPIO_IO_DRV_GPIOL_4BYTE_ADDR		)
#define GPIO_IO_DRV_GPIOH_4BYTE_REG 			REG32_PTR(GPIO_IO_DRV_GPIOH_4BYTE_ADDR		)
#define GPIO_IO_DRV_HDMI_4BYTE_REG 				REG32_PTR(GPIO_IO_DRV_HDMI_4BYTE_ADDR		)
#define GPIO_IO_DRV_KEYPAD_4BYTE_REG 			REG32_PTR(GPIO_IO_DRV_KEYPAD_4BYTE_ADDR 	)
#define GPIO_IO_DRV_JTAG_4BYTE_REG 				REG32_PTR(GPIO_IO_DRV_JTAG_4BYTE_ADDR		)
#define GPIO_IO_DRV_USB_4BYTE_REG 				REG32_PTR(GPIO_IO_DRV_USB_4BYTE_ADDR		)
#define GPIO_IO_DRV_SD0CD_4BYTE_REG 			REG32_PTR(GPIO_IO_DRV_SD0CD_4BYTE_ADDR		)
#define GPIO_PULL_EN_GP0_BYTE_REG				REG8_PTR(GPIO_PULL_EN_GP0_BYTE_ADDR		)
#define GPIO_PULL_EN_GP1_BYTE_REG				REG8_PTR(GPIO_PULL_EN_GP1_BYTE_ADDR 			    )
#define GPIO_PULL_EN_GP2_WAKEUP_SUS_BYTE_REG	REG8_PTR(GPIO_PULL_EN_GP2_WAKEUP_SUS_BYTE_ADDR 	    )
#define GPIO_PULL_EN_GP3_SD0CD_BYTE_REG			REG8_PTR(GPIO_PULL_EN_GP3_SD0CD_BYTE_ADDR 		    )
#define GPIO_PULL_EN_GP4_VDOUT_7_0_BYTE_REG		REG8_PTR(GPIO_PULL_EN_GP4_VDOUT_7_0_BYTE_ADDR       )
#define GPIO_PULL_EN_GP5_VDOUT_15_8_BYTE_REG	REG8_PTR(GPIO_PULL_EN_GP5_VDOUT_15_8_BYTE_ADDR      )
#define GPIO_PULL_EN_GP6_VDOUT_23_16_BYTE_REG	REG8_PTR(GPIO_PULL_EN_GP6_VDOUT_23_16_BYTE_ADDR     )
#define GPIO_PULL_EN_GP7_VD_BYTE_REG			REG8_PTR(GPIO_PULL_EN_GP7_VD_BYTE_ADDR       	    )
#define GPIO_PULL_EN_GP8_VDIN_BYTE_REG			REG8_PTR(GPIO_PULL_EN_GP8_VDIN_BYTE_ADDR     	    )
#define GPIO_PULL_EN_GP9_VSYNC_BYTE_REG			REG8_PTR(GPIO_PULL_EN_GP9_VSYNC_BYTE_ADDR 		    )
#define GPIO_PULL_EN_GP10_I2S_BYTE_REG			REG8_PTR(GPIO_PULL_EN_GP10_I2S_BYTE_ADDR 		    )
#define GPIO_PULL_EN_GP11_SPI_BYTE_REG			REG8_PTR(GPIO_PULL_EN_GP11_SPI_BYTE_ADDR      	    )
#define GPIO_PULL_EN_GP12_XD_BYTE_REG			REG8_PTR(GPIO_PULL_EN_GP12_XD_BYTE_ADDR       	    )
#define GPIO_PULL_EN_GP13_XDIO_BYTE_REG			REG8_PTR(GPIO_PULL_EN_GP13_XDIO_BYTE_ADDR           )
#define GPIO_PULL_EN_GP14_SD_BYTE_REG			REG8_PTR(GPIO_PULL_EN_GP14_SD_BYTE_ADDR       	    )
#define GPIO_PULL_EN_GP15_NAND_7_0_BYTE_REG		REG8_PTR(GPIO_PULL_EN_GP15_NAND_7_0_BYTE_ADDR       )
#define GPIO_PULL_EN_GP16_NAND_15_8_BYTE_REG	REG8_PTR(GPIO_PULL_EN_GP16_NAND_15_8_BYTE_ADDR      )
#define GPIO_PULL_EN_GP18_SD0PWRSW_BYTE_REG		REG8_PTR(GPIO_PULL_EN_GP18_SD0PWRSW_BYTE_ADDR		)
#define GPIO_PULL_EN_GP21_I2C_BYTE_REG			REG8_PTR(GPIO_PULL_EN_GP21_I2C_BYTE_ADDR       	    )
#define GPIO_PULL_EN_GP22_UART_0_1_BYTE_REG		REG8_PTR(GPIO_PULL_EN_GP22_UART_0_1_BYTE_ADDR       )
#define GPIO_PULL_EN_GP23_UART_2_3_BYTE_REG		REG8_PTR(GPIO_PULL_EN_GP23_UART_2_3_BYTE_ADDR       )
#define GPIO_PULL_EN_GP24_TSDIN_7_0_BYTE_REG	REG8_PTR(GPIO_PULL_EN_GP24_TSDIN_7_0_BYTE_ADDR      )
#define GPIO_PULL_EN_GP25_TS_BYTE_REG			REG8_PTR(GPIO_PULL_EN_GP25_TS_BYTE_ADDR       	    )
#define GPIO_PULL_EN_GP26_KPAD_BYTE_REG			REG8_PTR(GPIO_PULL_EN_GP26_KPAD_BYTE_ADDR           )
#define GPIO_PULL_EN_GP27_SPDIF_BYTE_REG		REG8_PTR(GPIO_PULL_EN_GP27_SPDIF_BYTE_ADDR          )
#define GPIO_PULL_EN_GP28_NAND_CFG_0_BYTE_REG	REG8_PTR(GPIO_PULL_EN_GP28_NAND_CFG_0_BYTE_ADDR     )
#define GPIO_PULL_EN_GP29_NAND_CFG_1_BYTE_REG	REG8_PTR(GPIO_PULL_EN_GP29_NAND_CFG_1_BYTE_ADDR     )
#define GPIO_PULL_EN_GP30_SPI_FLASH_BYTE_REG	REG8_PTR(GPIO_PULL_EN_GP30_SPI_FLASH_BYTE_ADDR 	    )
#define GPIO_PULL_EN_GP31_PWM_BYTE_REG			REG8_PTR(GPIO_PULL_EN_GP31_PWM_BYTE_ADDR 		    )
#define GPIO_PULL_EN_GP32_HDMI_BYTE_REG			REG8_PTR(GPIO_PULL_EN_GP32_HDMI_BYTE_ADDR 		    )
#define GPIO_PULL_EN_GP60_USB_TYTE_REG			REG8_PTR(GPIO_PULL_EN_GP60_USB_TYTE_ADDR			)
#define GPIO_PULL_CTRL_GP0_BYTE_REG				REG8_PTR(GPIO_PULL_CTRL_GP0_BYTE_ADDR 			    )
#define GPIO_PULL_CTRL_GP1_BYTE_REG				REG8_PTR(GPIO_PULL_CTRL_GP1_BYTE_ADDR 			    )
#define GPIO_PULL_CTRL_GP2_WAKEUP_SUS_BYTE_REG	REG8_PTR(GPIO_PULL_CTRL_GP2_WAKEUP_SUS_BYTE_ADDR    )
#define GPIO_PULL_CTRL_GP3_SD0CD_BYTE_REG		REG8_PTR(GPIO_PULL_CTRL_GP3_SD0CD_BYTE_ADDR 	    )
#define GPIO_PULL_CTRL_GP4_VDOUT_7_0_BYTE_REG	REG8_PTR(GPIO_PULL_CTRL_GP4_VDOUT_7_0_BYTE_ADDR     )
#define GPIO_PULL_CTRL_GP5_VDOUT_15_8_BYTE_REG	REG8_PTR(GPIO_PULL_CTRL_GP5_VDOUT_15_8_BYTE_ADDR    )
#define GPIO_PULL_CTRL_GP6_VDOUT_23_16_BYTE_REG	REG8_PTR(GPIO_PULL_CTRL_GP6_VDOUT_23_16_BYTE_ADDR   )
#define GPIO_PULL_CTRL_GP7_VD_BYTE_REG			REG8_PTR(GPIO_PULL_CTRL_GP7_VD_BYTE_ADDR       	    )
#define GPIO_PULL_CTRL_GP8_VDIN_BYTE_REG		REG8_PTR(GPIO_PULL_CTRL_GP8_VDIN_BYTE_ADDR     	    )
#define GPIO_PULL_CTRL_GP9_VSYNC_BYTE_REG		REG8_PTR(GPIO_PULL_CTRL_GP9_VSYNC_BYTE_ADDR 		)
#define GPIO_PULL_CTRL_GP10_I2S_BYTE_REG		REG8_PTR(GPIO_PULL_CTRL_GP10_I2S_BYTE_ADDR 		    )
#define GPIO_PULL_CTRL_GP11_SPI_BYTE_REG		REG8_PTR(GPIO_PULL_CTRL_GP11_SPI_BYTE_ADDR      	)
#define GPIO_PULL_CTRL_GP12_XD_BYTE_REG			REG8_PTR(GPIO_PULL_CTRL_GP12_XD_BYTE_ADDR       	)
#define GPIO_PULL_CTRL_GP13_XDIO_BYTE_REG		REG8_PTR(GPIO_PULL_CTRL_GP13_XDIO_BYTE_ADDR         )
#define GPIO_PULL_CTRL_GP14_SD_BYTE_REG			REG8_PTR(GPIO_PULL_CTRL_GP14_SD_BYTE_ADDR       	)
#define GPIO_PULL_CTRL_GP15_NAND_7_0_BYTE_REG	REG8_PTR(GPIO_PULL_CTRL_GP15_NAND_7_0_BYTE_ADDR     )
#define GPIO_PULL_CTRL_GP16_NAND_15_8_BYTE_REG	REG8_PTR(GPIO_PULL_CTRL_GP16_NAND_15_8_BYTE_ADDR    )
#define GPIO_PULL_CTRL_GP18_SD0PWRSW_BYTE_REG	REG8_PTR(GPIO_PULL_CTRL_GP18_SD0PWRSW_BYTE_ADDR		)
#define GPIO_PULL_CTRL_GP21_I2C_BYTE_REG		REG8_PTR(GPIO_PULL_CTRL_GP21_I2C_BYTE_ADDR          )
#define GPIO_PULL_CTRL_GP22_UART_0_1_BYTE_REG	REG8_PTR(GPIO_PULL_CTRL_GP22_UART_0_1_BYTE_ADDR     )
#define GPIO_PULL_CTRL_GP23_UART_2_3_BYTE_REG	REG8_PTR(GPIO_PULL_CTRL_GP23_UART_2_3_BYTE_ADDR     )
#define GPIO_PULL_CTRL_GP24_TSDIN_7_0_BYTE_REG	REG8_PTR(GPIO_PULL_CTRL_GP24_TSDIN_7_0_BYTE_ADDR    )
#define GPIO_PULL_CTRL_GP25_TS_BYTE_REG			REG8_PTR(GPIO_PULL_CTRL_GP25_TS_BYTE_ADDR       	)
#define GPIO_PULL_CTRL_GP26_KPAD_BYTE_REG		REG8_PTR(GPIO_PULL_CTRL_GP26_KPAD_BYTE_ADDR         )
#define GPIO_PULL_CTRL_GP27_SPDIF_BYTE_REG		REG8_PTR(GPIO_PULL_CTRL_GP27_SPDIF_BYTE_ADDR        )
#define GPIO_PULL_CTRL_GP28_NAND_CFG_0_BYTE_REG	REG8_PTR(GPIO_PULL_CTRL_GP28_NAND_CFG_0_BYTE_ADDR   )
#define GPIO_PULL_CTRL_GP29_NAND_CFG_1_BYTE_REG	REG8_PTR(GPIO_PULL_CTRL_GP29_NAND_CFG_1_BYTE_ADDR   )
#define GPIO_PULL_CTRL_GP30_SPI_FLASH_BYTE_REG	REG8_PTR(GPIO_PULL_CTRL_GP30_SPI_FLASH_BYTE_ADDR    )
#define GPIO_PULL_CTRL_GP31_PWM_BYTE_REG		REG8_PTR(GPIO_PULL_CTRL_GP31_PWM_BYTE_ADDR 		    )
#define GPIO_PULL_CTRL_GP32_HDMI_BYTE_REG		REG8_PTR(GPIO_PULL_CTRL_GP32_HDMI_BYTE_ADDR 	    )
#define GPIO_PULL_CTRL_GP60_USB_BYTE_REG		REG8_PTR(GPIO_PULL_CTRL_GP60_USB_BYTE_ADDR			)

#define GPIO_ID_GP0_BYTE_VAL 					REG8_VAL(GPIO_ID_GP0_BYTE_ADDR 				    )
#define GPIO_ID_GP1_BYTE_VAL 					REG8_VAL(GPIO_ID_GP1_BYTE_ADDR 				    )
#define GPIO_ID_GP2_WAKEUP_SUS_BYTE_VAL 		REG8_VAL(GPIO_ID_GP2_WAKEUP_SUS_BYTE_ADDR 	    )
#define GPIO_ID_GP3_SD0CD_BYTE_VAL 				REG8_VAL(GPIO_ID_GP3_SD0CD_BYTE_ADDR 		    )
#define GPIO_ID_GP4_VDOUT_7_0_BYTE_VAL    	    REG8_VAL(GPIO_ID_GP4_VDOUT_7_0_BYTE_ADDR    	)
#define GPIO_ID_GP5_VDOUT_15_8_BYTE_VAL        	REG8_VAL(GPIO_ID_GP5_VDOUT_15_8_BYTE_ADDR       )
#define GPIO_ID_GP6_VDOUT_23_16_BYTE_VAL 		REG8_VAL(GPIO_ID_GP6_VDOUT_23_16_BYTE_ADDR 	    )
#define GPIO_ID_GP7_VD_BYTE_VAL       			REG8_VAL(GPIO_ID_GP7_VD_BYTE_ADDR       		)
#define GPIO_ID_GP8_VDIN_BYTE_VAL     			REG8_VAL(GPIO_ID_GP8_VDIN_BYTE_ADDR     		)
#define GPIO_ID_GP9_VSYNC_BYTE_VAL 				REG8_VAL(GPIO_ID_GP9_VSYNC_BYTE_ADDR 		    )
#define GPIO_ID_GP10_I2S_BYTE_VAL 				REG8_VAL(GPIO_ID_GP10_I2S_BYTE_ADDR 			)
#define GPIO_ID_GP11_SPI_BYTE_VAL      			REG8_VAL(GPIO_ID_GP11_SPI_BYTE_ADDR      	    )
#define GPIO_ID_GP14_SD_BYTE_VAL       			REG8_VAL(GPIO_ID_GP14_SD_BYTE_ADDR       	    )
#define GPIO_ID_GP15_NAND_7_0_BYTE_VAL       	REG8_VAL(GPIO_ID_GP15_NAND_7_0_BYTE_ADDR        )
#define GPIO_ID_GP16_NAND_15_8_BYTE_VAL       	REG8_VAL(GPIO_ID_GP16_NAND_15_8_BYTE_ADDR       )
#define GPIO_ID_GP21_I2C_BYTE_VAL       		REG8_VAL(GPIO_ID_GP21_I2C_BYTE_ADDR       	    )
#define GPIO_ID_GP22_UART_0_1_BYTE_VAL       	REG8_VAL(GPIO_ID_GP22_UART_0_1_BYTE_ADDR        )
#define GPIO_ID_GP23_UART_2_3_BYTE_VAL       	REG8_VAL(GPIO_ID_GP23_UART_2_3_BYTE_ADDR        )
#define GPIO_ID_GP24_TSDIN_7_0_BYTE_VAL       	REG8_VAL(GPIO_ID_GP24_TSDIN_7_0_BYTE_ADDR       )
#define GPIO_ID_GP25_TS_BYTE_VAL       			REG8_VAL(GPIO_ID_GP25_TS_BYTE_ADDR       	    )
#define GPIO_ID_GP26_KPAD_BYTE_VAL       		REG8_VAL(GPIO_ID_GP26_KPAD_BYTE_ADDR       	    )
#define GPIO_ID_GP27_SPDIF_BYTE_VAL       		REG8_VAL(GPIO_ID_GP27_SPDIF_BYTE_ADDR       	)
#define GPIO_ID_GP28_NAND_CFG_0_BYTE_VAL   	    REG8_VAL(GPIO_ID_GP28_NAND_CFG_0_BYTE_ADDR      )
#define GPIO_ID_GP29_NAND_CFG_1_BYTE_VAL        REG8_VAL(GPIO_ID_GP29_NAND_CFG_1_BYTE_ADDR      )
#define GPIO_ID_GP30_SPI_FLASH_BYTE_VAL 		REG8_VAL(GPIO_ID_GP30_SPI_FLASH_BYTE_ADDR 	    )
#define GPIO_ID_GP31_PWM_BYTE_VAL 				REG8_VAL(GPIO_ID_GP31_PWM_BYTE_ADDR 			)
#define GPIO_ID_GP31_HDMI_BYTE_VAL 				REG8_VAL(GPIO_ID_GP32_HDMI_BYTE_ADDR 			)
#define GPIO_ID_GP60_USB_BYTE_VAL				REG8_VAL(GPIO_ID_GP60_USB_BYTE_ADDR				)
#define GPIO_CTRL_GP0_BYTE_VAL 					REG8_VAL(GPIO_CTRL_GP0_BYTE_ADDR 			    )
#define GPIO_CTRL_GP1_BYTE_VAL 					REG8_VAL(GPIO_CTRL_GP1_BYTE_ADDR 			    )
#define GPIO_CTRL_GP2_WAKEUP_SUS_BYTE_VAL 	    REG8_VAL(GPIO_CTRL_GP2_WAKEUP_SUS_BYTE_ADDR 	)
#define GPIO_CTRL_GP3_SD0CD_BYTE_VAL 		    REG8_VAL(GPIO_CTRL_GP3_SD0CD_BYTE_ADDR			)
#define GPIO_CTRL_GP4_VDOUT_7_0_BYTE_VAL    	REG8_VAL(GPIO_CTRL_GP4_VDOUT_7_0_BYTE_ADDR      )
#define GPIO_CTRL_GP5_VDOUT_15_8_BYTE_VAL      	REG8_VAL(GPIO_CTRL_GP5_VDOUT_15_8_BYTE_ADDR     )
#define GPIO_CTRL_GP6_VDOUT_23_16_BYTE_VAL 		REG8_VAL(GPIO_CTRL_GP6_VDOUT_23_16_BYTE_ADDR    )
#define GPIO_CTRL_GP7_VD_BYTE_VAL       		REG8_VAL(GPIO_CTRL_GP7_VD_BYTE_ADDR       	    )
#define GPIO_CTRL_GP8_VDIN_BYTE_VAL     		REG8_VAL(GPIO_CTRL_GP8_VDIN_BYTE_ADDR     	    )
#define GPIO_CTRL_GP9_VSYNC_BYTE_VAL 		    REG8_VAL(GPIO_CTRL_GP9_VSYNC_BYTE_ADDR 		    )
#define GPIO_CTRL_GP10_I2S_BYTE_VAL 			REG8_VAL(GPIO_CTRL_GP10_I2S_BYTE_ADDR 		    )
#define GPIO_CTRL_GP11_SPI_BYTE_VAL      	    REG8_VAL(GPIO_CTRL_GP11_SPI_BYTE_ADDR      	    )
#define GPIO_CTRL_GP14_SD_BYTE_VAL       	    REG8_VAL(GPIO_CTRL_GP14_SD_BYTE_ADDR       	    )
#define GPIO_CTRL_GP15_NAND_7_0_BYTE_VAL        REG8_VAL(GPIO_CTRL_GP15_NAND_7_0_BYTE_ADDR      )
#define GPIO_CTRL_GP16_NAND_15_8_BYTE_VAL       REG8_VAL(GPIO_CTRL_GP16_NAND_15_8_BYTE_ADDR     )
#define GPIO_CTRL_GP18_SD0PWRSW_BYTE_VAL		REG8_VAL(GPIO_CTRL_GP18_SD0PWRSW_BYTE_ADDR		)
#define GPIO_CTRL_GP21_I2C_BYTE_VAL       	    REG8_VAL(GPIO_CTRL_GP21_I2C_BYTE_ADDR       	)
#define GPIO_CTRL_GP22_UART_0_1_BYTE_VAL        REG8_VAL(GPIO_CTRL_GP22_UART_0_1_BYTE_ADDR      )
#define GPIO_CTRL_GP23_UART_2_3_BYTE_VAL        REG8_VAL(GPIO_CTRL_GP23_UART_2_3_BYTE_ADDR      )
#define GPIO_CTRL_GP24_TSDIN_7_0_BYTE_VAL       REG8_VAL(GPIO_CTRL_GP24_TSDIN_7_0_BYTE_ADDR     )
#define GPIO_CTRL_GP25_TS_BYTE_VAL       	    REG8_VAL(GPIO_CTRL_GP25_TS_BYTE_ADDR       	    )
#define GPIO_CTRL_GP26_KPAD_BYTE_VAL       	 	REG8_VAL(GPIO_CTRL_GP26_KPAD_BYTE_ADDR          )
#define GPIO_CTRL_GP27_SPDIF_BYTE_VAL       	REG8_VAL(GPIO_CTRL_GP27_SPDIF_BYTE_ADDR         )
#define GPIO_CTRL_GP28_NAND_CFG_0_BYTE_VAL      REG8_VAL(GPIO_CTRL_GP28_NAND_CFG_0_BYTE_ADDR    )
#define GPIO_CTRL_GP29_NAND_CFG_1_BYTE_VAL      REG8_VAL(GPIO_CTRL_GP29_NAND_CFG_1_BYTE_ADDR    )
#define GPIO_CTRL_GP30_SPI_FLASH_BYTE_VAL 	    REG8_VAL(GPIO_CTRL_GP30_SPI_FLASH_BYTE_ADDR 	)
#define GPIO_CTRL_GP31_PWM_BYTE_VAL 			REG8_VAL(GPIO_CTRL_GP31_PWM_BYTE_ADDR 		    )
#define GPIO_CTRL_GP32_HDMI_BYTE_VAL 			REG8_VAL(GPIO_CTRL_GP32_HDMI_BYTE_ADDR 		    )
#define GPIO_CTRL_GP60_USB_BYTE_VAL				REG8_VAL(GPIO_CTRL_GP60_USB_BYTE_ADDR			)
#define GPIO_OC_GP0_BYTE_VAL 			    	REG8_VAL(GPIO_OC_GP0_BYTE_ADDR 			        )
#define GPIO_OC_GP1_BYTE_VAL 			        REG8_VAL(GPIO_OC_GP1_BYTE_ADDR 			        )
#define GPIO_OC_GP2_WAKEUP_SUS_BYTE_VAL 	    REG8_VAL(GPIO_OC_GP2_WAKEUP_SUS_BYTE_ADDR 	    )
#define GPIO_OC_GP3_SD0CD_BYTE_VAL 		    	REG8_VAL(GPIO_OC_GP3_SD0CD_BYTE_ADDR 		    )
#define GPIO_OC_GP4_VDOUT_7_0_BYTE_VAL          REG8_VAL(GPIO_OC_GP4_VDOUT_7_0_BYTE_ADDR        )
#define GPIO_OC_GP5_VDOUT_15_8_BYTE_VAL         REG8_VAL(GPIO_OC_GP5_VDOUT_15_8_BYTE_ADDR       )
#define GPIO_OC_GP6_VDOUT_23_16_BYTE_VAL        REG8_VAL(GPIO_OC_GP6_VDOUT_23_16_BYTE_ADDR      )
#define GPIO_OC_GP7_VD_BYTE_VAL       	        REG8_VAL(GPIO_OC_GP7_VD_BYTE_ADDR       	    )
#define GPIO_OC_GP8_VDIN_BYTE_VAL     	        REG8_VAL(GPIO_OC_GP8_VDIN_BYTE_ADDR     	    )
#define GPIO_OC_GP9_VSYNC_BYTE_VAL 		     	REG8_VAL(GPIO_OC_GP9_VSYNC_BYTE_ADDR 		    )
#define GPIO_OC_GP10_I2S_BYTE_VAL 		        REG8_VAL(GPIO_OC_GP10_I2S_BYTE_ADDR 		    )
#define GPIO_OC_GP11_SPI_BYTE_VAL      	     	REG8_VAL(GPIO_OC_GP11_SPI_BYTE_ADDR      	    )
#define GPIO_OC_GP14_SD_BYTE_VAL       	     	REG8_VAL(GPIO_OC_GP14_SD_BYTE_ADDR       	    )
#define GPIO_OC_GP15_NAND_7_0_BYTE_VAL          REG8_VAL(GPIO_OC_GP15_NAND_7_0_BYTE_ADDR        )
#define GPIO_OC_GP16_NAND_15_8_BYTE_VAL         REG8_VAL(GPIO_OC_GP16_NAND_15_8_BYTE_ADDR       )
#define GPIO_OC_GP18_SD0PWRSW_BYTE_VAL			REG8_VAL(GPIO_OC_GP18_SD0PWRSW_BYTE_ADDR		)
#define GPIO_OC_GP21_I2C_BYTE_VAL       	    REG8_VAL(GPIO_OC_GP21_I2C_BYTE_ADDR       	    )
#define GPIO_OC_GP22_UART_0_1_BYTE_VAL          REG8_VAL(GPIO_OC_GP22_UART_0_1_BYTE_ADDR        )
#define GPIO_OC_GP23_UART_2_3_BYTE_VAL          REG8_VAL(GPIO_OC_GP23_UART_2_3_BYTE_ADDR        )
#define GPIO_OC_GP24_TSDIN_7_0_BYTE_VAL         REG8_VAL(GPIO_OC_GP24_TSDIN_7_0_BYTE_ADDR       )
#define GPIO_OC_GP25_TS_BYTE_VAL       	     	REG8_VAL(GPIO_OC_GP25_TS_BYTE_ADDR       	    )
#define GPIO_OC_GP26_KPAD_BYTE_VAL              REG8_VAL(GPIO_OC_GP26_KPAD_BYTE_ADDR            )
#define GPIO_OC_GP27_SPDIF_BYTE_VAL             REG8_VAL(GPIO_OC_GP27_SPDIF_BYTE_ADDR           )
#define GPIO_OC_GP28_NAND_CFG_0_BYTE_VAL        REG8_VAL(GPIO_OC_GP28_NAND_CFG_0_BYTE_ADDR      )
#define GPIO_OC_GP29_NAND_CFG_1_BYTE_VAL        REG8_VAL(GPIO_OC_GP29_NAND_CFG_1_BYTE_ADDR      )
#define GPIO_OC_GP30_SPI_FLASH_BYTE_VAL 	    REG8_VAL(GPIO_OC_GP30_SPI_FLASH_BYTE_ADDR 	    )
#define GPIO_OC_GP31_PWM_BYTE_VAL 		        REG8_VAL(GPIO_OC_GP31_PWM_BYTE_ADDR 		    )
#define GPIO_OC_GP32_HDMI_BYTE_VAL 		        REG8_VAL(GPIO_OC_GP32_HDMI_BYTE_ADDR 		    )
#define GPIO_OC_GP60_USB_BYTE_VAL				REG8_VAL(GPIO_OC_GP60_USB_BYTE_ADDR				)
#define GPIO_OD_GP0_BYTE_VAL 			    	REG8_VAL(GPIO_OD_GP0_BYTE_ADDR 			        )
#define GPIO_OD_GP1_BYTE_VAL 			        REG8_VAL(GPIO_OD_GP1_BYTE_ADDR 			        )
#define GPIO_OD_GP2_WAKEUP_SUS_BYTE_VAL 	    REG8_VAL(GPIO_OD_GP2_WAKEUP_SUS_BYTE_ADDR 	    )
#define GPIO_OD_GP3_SD0CD_BYTE_VAL	 		    REG8_VAL(GPIO_OD_GP3_SD0CD_BYTE_ADDR 		    )
#define GPIO_OD_GP4_VDOUT_7_0_BYTE_VAL          REG8_VAL(GPIO_OD_GP4_VDOUT_7_0_BYTE_ADDR        )
#define GPIO_OD_GP5_VDOUT_15_8_BYTE_VAL         REG8_VAL(GPIO_OD_GP5_VDOUT_15_8_BYTE_ADDR       )
#define GPIO_OD_GP6_VDOUT_23_16_BYTE_VAL        REG8_VAL(GPIO_OD_GP6_VDOUT_23_16_BYTE_ADDR      )
#define GPIO_OD_GP7_VD_BYTE_VAL       	        REG8_VAL(GPIO_OD_GP7_VD_BYTE_ADDR       	    )
#define GPIO_OD_GP8_VDIN_BYTE_VAL     	        REG8_VAL(GPIO_OD_GP8_VDIN_BYTE_ADDR     	    )
#define GPIO_OD_GP9_VSYNC_BYTE_VAL 		     	REG8_VAL(GPIO_OD_GP9_VSYNC_BYTE_ADDR 		    )
#define GPIO_OD_GP10_I2S_BYTE_VAL 		        REG8_VAL(GPIO_OD_GP10_I2S_BYTE_ADDR 		    )
#define GPIO_OD_GP11_SPI_BYTE_VAL      	     	REG8_VAL(GPIO_OD_GP11_SPI_BYTE_ADDR      	    )
#define GPIO_OD_GP14_SD_BYTE_VAL       	     	REG8_VAL(GPIO_OD_GP14_SD_BYTE_ADDR       	    )
#define GPIO_OD_GP15_NAND_7_0_BYTE_VAL          REG8_VAL(GPIO_OD_GP15_NAND_7_0_BYTE_ADDR        )
#define GPIO_OD_GP16_NAND_15_8_BYTE_VAL         REG8_VAL(GPIO_OD_GP16_NAND_15_8_BYTE_ADDR       )
#define GPIO_OD_GP18_SD0PWRSW_BYTE_VAL			REG8_VAL(GPIO_OD_GP18_SD0PWRSW_BYTE_ADDR		)
#define GPIO_OD_GP21_I2C_BYTE_VAL       	    REG8_VAL(GPIO_OD_GP21_I2C_BYTE_ADDR       	    )
#define GPIO_OD_GP22_UART_0_1_BYTE_VAL          REG8_VAL(GPIO_OD_GP22_UART_0_1_BYTE_ADDR        )
#define GPIO_OD_GP23_UART_2_3_BYTE_VAL          REG8_VAL(GPIO_OD_GP23_UART_2_3_BYTE_ADDR        )
#define GPIO_OD_GP24_TSDIN_7_0_BYTE_VAL         REG8_VAL(GPIO_OD_GP24_TSDIN_7_0_BYTE_ADDR       )
#define GPIO_OD_GP25_TS_BYTE_VAL       	     	REG8_VAL(GPIO_OD_GP25_TS_BYTE_ADDR       	    )
#define GPIO_OD_GP26_KPAD_BYTE_VAL              REG8_VAL(GPIO_OD_GP26_KPAD_BYTE_ADDR            )
#define GPIO_OD_GP27_SPDIF_BYTE_VAL             REG8_VAL(GPIO_OD_GP27_SPDIF_BYTE_ADDR           )
#define GPIO_OD_GP28_NAND_CFG_0_BYTE_VAL        REG8_VAL(GPIO_OD_GP28_NAND_CFG_0_BYTE_ADDR      )
#define GPIO_OD_GP29_NAND_CFG_1_BYTE_VAL        REG8_VAL(GPIO_OD_GP29_NAND_CFG_1_BYTE_ADDR      )
#define GPIO_OD_GP30_SPI_FLASH_BYTE_VAL 	    REG8_VAL(GPIO_OD_GP30_SPI_FLASH_BYTE_ADDR 	    )
#define GPIO_OD_GP31_PWM_BYTE_VAL 		        REG8_VAL(GPIO_OD_GP31_PWM_BYTE_ADDR 		    )
#define GPIO_OD_GP32_HDMI_BYTE_VAL 		        REG8_VAL(GPIO_OD_GP32_HDMI_BYTE_ADDR 		    )
#define GPIO_OD_GP60_USB_BYTE_VAL				REG8_VAL(GPIO_OD_GP60_USB_BYTE_ADDR				)
#define GPIO_STRAP_STATUS_VAL					REG32_VAL(GPIO_STRAP_STATUS_ADDR				)
#define GPIO_AHB_CTRL_4BYTE_VAL 				REG32_VAL(GPIO_AHB_CTRL_4BYTE_ADDR				)
#define GPIO_USB_OP_CTRL_4BYTE_ADDR_VAL			REG32_VAL(GPIO_USB_OP_CTRL_4BYTE_ADDR			)
#define GPIO_BONDING_OPTION_4BYTE_VAL     		REG32_VAL(GPIO_BONDING_OPTION_4BYTE_ADDR		)
#define GPIO_PIN_SHARING_SEL_4BYTE_VAL 			REG32_VAL(GPIO_PIN_SHARING_SEL_4BYTE_ADDR		)
#define GPIO0_INT_REQ_TYPE_VAL					REG8_VAL(GPIO0_INT_REQ_TYPE_ADDR)
#define GPIO1_INT_REQ_TYPE_VAL					REG8_VAL(GPIO1_INT_REQ_TYPE_ADDR)
#define GPIO2_INT_REQ_TYPE_VAL					REG8_VAL(GPIO2_INT_REQ_TYPE_ADDR)
#define GPIO3_INT_REQ_TYPE_VAL					REG8_VAL(GPIO3_INT_REQ_TYPE_ADDR)
#define GPIO4_INT_REQ_TYPE_VAL					REG8_VAL(GPIO4_INT_REQ_TYPE_ADDR)
#define GPIO5_INT_REQ_TYPE_VAL					REG8_VAL(GPIO5_INT_REQ_TYPE_ADDR)
#define GPIO6_INT_REQ_TYPE_VAL					REG8_VAL(GPIO6_INT_REQ_TYPE_ADDR)
#define GPIO7_INT_REQ_TYPE_VAL					REG8_VAL(GPIO7_INT_REQ_TYPE_ADDR)
#define GPIO8_INT_REQ_TYPE_VAL					REG8_VAL(GPIO8_INT_REQ_TYPE_ADDR)
#define GPIO9_INT_REQ_TYPE_VAL					REG8_VAL(GPIO9_INT_REQ_TYPE_ADDR)
#define GPIO10_INT_REQ_TYPE_VAL					REG8_VAL(GPIO10_INT_REQ_TYPE_ADDR)
#define GPIO11_INT_REQ_TYPE_VAL					REG8_VAL(GPIO11_INT_REQ_TYPE_ADDR)
#define KPADROW0_INT_REQ_TYPE_VAL				REG8_VAL(KPADROW0_INT_REQ_TYPE_ADDR)
#define KPADROW1_INT_REQ_TYPE_VAL				REG8_VAL(KPADROW1_INT_REQ_TYPE_ADDR)
#define KPADROW2_INT_REQ_TYPE_VAL				REG8_VAL(KPADROW2_INT_REQ_TYPE_ADDR)
#define KPADROW3_INT_REQ_TYPE_VAL				REG8_VAL(KPADROW3_INT_REQ_TYPE_ADDR)
#define KPADCOL0_INT_REQ_TYPE_VAL				REG8_VAL(KPADCOL0_INT_REQ_TYPE_ADDR)
#define KPADCOL1_INT_REQ_TYPE_VAL				REG8_VAL(KPADCOL1_INT_REQ_TYPE_ADDR)
#define KPADCOL2_INT_REQ_TYPE_VAL				REG8_VAL(KPADCOL2_INT_REQ_TYPE_ADDR)
#define KPADCOL3_INT_REQ_TYPE_VAL				REG8_VAL(KPADCOL3_INT_REQ_TYPE_ADDR)
#define UART1RTS_INT_REQ_TYPE_VAL				REG8_VAL(UART1RTS_INT_REQ_TYPE_ADDR)
#define UART1TXD_INT_REQ_TYPE_VAL				REG8_VAL(UART1TXD_INT_REQ_TYPE_ADDR)
#define UART1CTS_INT_REQ_TYPE_VAL				REG8_VAL(UART1CTS_INT_REQ_TYPE_ADDR)
#define UART1RXD_INT_REQ_TYPE_VAL				REG8_VAL(UART1RXD_INT_REQ_TYPE_ADDR)
#define UART2RTS_INT_REQ_TYPE_VAL				REG8_VAL(UART2RTS_INT_REQ_TYPE_ADDR)
#define UART2TXD_INT_REQ_TYPE_VAL				REG8_VAL(UART2TXD_INT_REQ_TYPE_ADDR)
#define UART2CTS_INT_REQ_TYPE_VAL				REG8_VAL(UART2CTS_INT_REQ_TYPE_ADDR)
#define UART2RXD_INT_REQ_TYPE_VAL				REG8_VAL(UART2RXD_INT_REQ_TYPE_ADDR)
#define UART3RTS_INT_REQ_TYPE_VAL				REG8_VAL(UART3RTS_INT_REQ_TYPE_ADDR)
#define UART3TXD_INT_REQ_TYPE_VAL				REG8_VAL(UART3TXD_INT_REQ_TYPE_ADDR)
#define UART3CTS_INT_REQ_TYPE_VAL				REG8_VAL(UART3CTS_INT_REQ_TYPE_ADDR)
#define UART3RXD_INT_REQ_TYPE_VAL				REG8_VAL(UART3RXD_INT_REQ_TYPE_ADDR)
#define I2SDACDAT0_INT_REQ_TYPE_VAL				REG8_VAL(I2SDACDAT0_INT_REQ_TYPE_ADDR)
#define I2SDACDAT1_INT_REQ_TYPE_VAL				REG8_VAL(I2SDACDAT1_INT_REQ_TYPE_ADDR)
#define I2SDACDAT2_INT_REQ_TYPE_VAL				REG8_VAL(I2SDACDAT2_INT_REQ_TYPE_ADDR)
#define I2SDACDAT3_INT_REQ_TYPE_VAL				REG8_VAL(I2SDACDAT3_INT_REQ_TYPE_ADDR)
#define I2SADCMCLK_INT_REQ_TYPE_VAL				REG8_VAL(I2SADCMCLK_INT_REQ_TYPE_ADDR)
#define I2SDACLRC_INT_REQ_TYPE_VAL				REG8_VAL(I2SDACLRC_INT_REQ_TYPE_ADDR)
#define I2SDACBCLK_INT_REQ_TYPE_VAL				REG8_VAL(I2SDACBCLK_INT_REQ_TYPE_ADDR)
#define I2SDACMCLK_INT_REQ_TYPE_VAL				REG8_VAL(I2SDACMCLK_INT_REQ_TYPE_ADDR)
#define SPI0CLK_INT_REQ_TYPE_VAL				REG8_VAL(SPI0CLK_INT_REQ_TYPE_ADDR)
#define SPI0MISO_INT_REQ_TYPE_VAL				REG8_VAL(SPI0MISO_INT_REQ_TYPE_ADDR)
#define SPI0MOSI_INT_REQ_TYPE_VAL				REG8_VAL(SPI0MOSI_INT_REQ_TYPE_ADDR)
#define SPI0SS0_INT_REQ_TYPE_VAL				REG8_VAL(SPI0SS0_INT_REQ_TYPE_ADDR)
#define PWMOUT1_INT_REQ_TYPE_VAL				REG8_VAL(PWMOUT1_INT_REQ_TYPE_ADDR)
#define PWMOUT0_INT_REQ_TYPE_VAL				REG8_VAL(PWMOUT0_INT_REQ_TYPE_ADDR)
#define GPIO0_INT_REQ_STS_VAL					REG8_VAL(GPIO0_INT_REQ_STS_ADDR)
#define GPIO1_INT_REQ_STS_VAL					REG8_VAL(GPIO1_INT_REQ_STS_ADDR)
#define GPIO2_INT_REQ_STS_VAL					REG8_VAL(GPIO2_INT_REQ_STS_ADDR)
#define GPIO3_INT_REQ_STS_VAL					REG8_VAL(GPIO3_INT_REQ_STS_ADDR)
#define GPIO4_INT_REQ_STS_VAL					REG8_VAL(GPIO4_INT_REQ_STS_ADDR)
#define GPIO5_INT_REQ_STS_VAL					REG8_VAL(GPIO5_INT_REQ_STS_ADDR)
#define GPIO_IO_DRV_SD_4BYTE_VAL 				REG32_VAL(GPIO_IO_DRV_SD_4BYTE_ADDR			)
#define GPIO_IO_DRV_VID_4BYTE_VAL 				REG32_VAL(GPIO_IO_DRV_VID_4BYTE_ADDR		)
#define GPIO_IO_DRV_SPI_4BYTE_VAL 				REG32_VAL(GPIO_IO_DRV_SPI_4BYTE_ADDR		)
#define GPIO_IO_DRV_NAND_4BYTE_VAL 				REG32_VAL(GPIO_IO_DRV_NAND_4BYTE_ADDR		)
#define GPIO_IO_DRV_XD_4BYTE_VAL 				REG32_VAL(GPIO_IO_DRV_XD_4BYTE_ADDR 	    )
#define GPIO_IO_DRV_SF_4BYTE_VAL 				REG32_VAL(GPIO_IO_DRV_SF_4BYTE_ADDR 	    )
#define GPIO_IO_DRV_I2S_4BYTE_VAL 				REG32_VAL(GPIO_IO_DRV_I2S_4BYTE_ADDR		)
#define GPIO_IO_DRV_PCM_4BYTE_VAL 				REG32_VAL(GPIO_IO_DRV_PCM_4BYTE_ADDR		)
#define GPIO_IO_DRV_PWM_4BYTE_VAL 				REG32_VAL(GPIO_IO_DRV_PWM_4BYTE_ADDR		)
#define GPIO_IO_DRV_IDE_4BYTE_VAL 				REG32_VAL(GPIO_IO_DRV_GPIOL_4BYTE_ADDR		)
#define GPIO_IO_DRV_GPIO_4BYTE_VAL 				REG32_VAL(GPIO_IO_DRV_GPIOH_4BYTE_ADDR		)
#define GPIO_IO_DRV_HDMI_4BYTE_VAL 				REG32_VAL(GPIO_IO_DRV_HDMI_4BYTE_ADDR		)
#define GPIO_IO_DRV_KEYPAD_4BYTE_VAL 			REG32_VAL(GPIO_IO_DRV_KEYPAD_4BYTE_ADDR 	)
#define GPIO_IO_DRV_JTAG_4BYTE_VAL 				REG32_VAL(GPIO_IO_DRV_JTAG_4BYTE_ADDR		)
#define GPIO_IO_DRV_USB_4BYTE_VAL 				REG32_VAL(GPIO_IO_DRV_USB_4BYTE_ADDR		)
#define GPIO_IO_DRV_SD0CD_4BYTE_VAL 			REG32_VAL(GPIO_IO_DRV_SD0CD_4BYTE_ADDR		)
#define GPIO_PULL_EN_GP0_BYTE_VAL				REG8_VAL(GPIO_PULL_EN_GP0_BYTE_ADDR			)
#define GPIO_PULL_EN_GP1_BYTE_VAL				REG8_VAL(GPIO_PULL_EN_GP1_BYTE_ADDR 			    )
#define GPIO_PULL_EN_GP2_WAKEUP_SUS_BYTE_VAL	REG8_VAL(GPIO_PULL_EN_GP2_WAKEUP_SUS_BYTE_ADDR 	    )
#define GPIO_PULL_EN_GP3_SD0CD_BYTE_VAL			REG8_VAL(GPIO_PULL_EN_GP3_SD0CD_BYTE_ADDR 		    )
#define GPIO_PULL_EN_GP4_VDOUT_7_0_BYTE_VAL		REG8_VAL(GPIO_PULL_EN_GP4_VDOUT_7_0_BYTE_ADDR       )
#define GPIO_PULL_EN_GP5_VDOUT_15_8_BYTE_VAL	REG8_VAL(GPIO_PULL_EN_GP5_VDOUT_15_8_BYTE_ADDR      )
#define GPIO_PULL_EN_GP6_VDOUT_23_16_BYTE_VAL	REG8_VAL(GPIO_PULL_EN_GP6_VDOUT_23_16_BYTE_ADDR     )
#define GPIO_PULL_EN_GP7_VD_BYTE_VAL			REG8_VAL(GPIO_PULL_EN_GP7_VD_BYTE_ADDR       	    )
#define GPIO_PULL_EN_GP8_VDIN_BYTE_VAL			REG8_VAL(GPIO_PULL_EN_GP8_VDIN_BYTE_ADDR     	    )
#define GPIO_PULL_EN_GP9_VSYNC_BYTE_VAL			REG8_VAL(GPIO_PULL_EN_GP9_VSYNC_BYTE_ADDR 		    )
#define GPIO_PULL_EN_GP10_I2S_BYTE_VAL			REG8_VAL(GPIO_PULL_EN_GP10_I2S_BYTE_ADDR 		    )
#define GPIO_PULL_EN_GP11_SPI_BYTE_VAL			REG8_VAL(GPIO_PULL_EN_GP11_SPI_BYTE_ADDR      	    )
#define GPIO_PULL_EN_GP12_XD_BYTE_VAL			REG8_VAL(GPIO_PULL_EN_GP12_XD_BYTE_ADDR       	    )
#define GPIO_PULL_EN_GP13_XDIO_BYTE_VAL			REG8_VAL(GPIO_PULL_EN_GP13_XDIO_BYTE_ADDR           )
#define GPIO_PULL_EN_GP14_SD_BYTE_VAL			REG8_VAL(GPIO_PULL_EN_GP14_SD_BYTE_ADDR       	    )
#define GPIO_PULL_EN_GP15_NAND_7_0_BYTE_VAL		REG8_VAL(GPIO_PULL_EN_GP15_NAND_7_0_BYTE_ADDR       )
#define GPIO_PULL_EN_GP16_NAND_15_8_BYTE_VAL	REG8_VAL(GPIO_PULL_EN_GP16_NAND_15_8_BYTE_ADDR      )
#define GPIO_PULL_EN_GP18_SD0PWRSW_BYTE_VAL		REG8_VAL(GPIO_PULL_EN_GP18_SD0PWRSW_BYTE_ADDR		)
#define GPIO_PULL_EN_GP21_I2C_BYTE_VAL			REG8_VAL(GPIO_PULL_EN_GP21_I2C_BYTE_ADDR       	    )
#define GPIO_PULL_EN_GP22_UART_0_1_BYTE_VAL		REG8_VAL(GPIO_PULL_EN_GP22_UART_0_1_BYTE_ADDR       )
#define GPIO_PULL_EN_GP23_UART_2_3_BYTE_VAL		REG8_VAL(GPIO_PULL_EN_GP23_UART_2_3_BYTE_ADDR       )
#define GPIO_PULL_EN_GP24_TSDIN_7_0_BYTE_VAL	REG8_VAL(GPIO_PULL_EN_GP24_TSDIN_7_0_BYTE_ADDR      )
#define GPIO_PULL_EN_GP25_TS_BYTE_VAL			REG8_VAL(GPIO_PULL_EN_GP25_TS_BYTE_ADDR       	    )
#define GPIO_PULL_EN_GP26_KPAD_BYTE_VAL			REG8_VAL(GPIO_PULL_EN_GP26_KPAD_BYTE_ADDR           )
#define GPIO_PULL_EN_GP27_SPDIF_BYTE_VAL		REG8_VAL(GPIO_PULL_EN_GP27_SPDIF_BYTE_ADDR          )
#define GPIO_PULL_EN_GP28_NAND_CFG_0_BYTE_VAL	REG8_VAL(GPIO_PULL_EN_GP28_NAND_CFG_0_BYTE_ADDR     )
#define GPIO_PULL_EN_GP29_NAND_CFG_1_BYTE_VAL	REG8_VAL(GPIO_PULL_EN_GP29_NAND_CFG_1_BYTE_ADDR     )
#define GPIO_PULL_EN_GP30_SPI_FLASH_BYTE_VAL	REG8_VAL(GPIO_PULL_EN_GP30_SPI_FLASH_BYTE_ADDR 	    )
#define GPIO_PULL_EN_GP31_PWM_BYTE_VAL			REG8_VAL(GPIO_PULL_EN_GP31_PWM_BYTE_ADDR 		    )
#define GPIO_PULL_EN_GP32_HDMI_BYTE_VAL			REG8_VAL(GPIO_PULL_EN_GP32_HDMI_BYTE_ADDR 		    )
#define GPIO_PULL_EN_GP60_USB_TYTE_VAL			REG8_VAL(GPIO_PULL_EN_GP60_USB_TYTE_ADDR			)
#define GPIO_PULL_CTRL_GP0_BYTE_VAL				REG8_VAL(GPIO_PULL_CTRL_GP0_BYTE_ADDR 			    )
#define GPIO_PULL_CTRL_GP1_BYTE_VAL				REG8_VAL(GPIO_PULL_CTRL_GP1_BYTE_ADDR 			    )
#define GPIO_PULL_CTRL_GP2_WAKEUP_SUS_BYTE_VAL	REG8_VAL(GPIO_PULL_CTRL_GP2_WAKEUP_SUS_BYTE_ADDR    )
#define GPIO_PULL_CTRL_GP3_SD0CD_BYTE_VAL		REG8_VAL(GPIO_PULL_CTRL_GP3_SD0CD_BYTE_ADDR 	    )
#define GPIO_PULL_CTRL_GP4_VDOUT_7_0_BYTE_VAL	REG8_VAL(GPIO_PULL_CTRL_GP4_VDOUT_7_0_BYTE_ADDR     )
#define GPIO_PULL_CTRL_GP5_VDOUT_15_8_BYTE_VAL	REG8_VAL(GPIO_PULL_CTRL_GP5_VDOUT_15_8_BYTE_ADDR    )
#define GPIO_PULL_CTRL_GP6_VDOUT_23_16_BYTE_VAL	REG8_VAL(GPIO_PULL_CTRL_GP6_VDOUT_23_16_BYTE_ADDR   )
#define GPIO_PULL_CTRL_GP7_VD_BYTE_VAL			REG8_VAL(GPIO_PULL_CTRL_GP7_VD_BYTE_ADDR       	    )
#define GPIO_PULL_CTRL_GP8_VDIN_BYTE_VAL		REG8_VAL(GPIO_PULL_CTRL_GP8_VDIN_BYTE_ADDR     	    )
#define GPIO_PULL_CTRL_GP9_VSYNC_BYTE_VAL		REG8_VAL(GPIO_PULL_CTRL_GP9_VSYNC_BYTE_ADDR 		)
#define GPIO_PULL_CTRL_GP10_I2S_BYTE_VAL		REG8_VAL(GPIO_PULL_CTRL_GP10_I2S_BYTE_ADDR 		    )
#define GPIO_PULL_CTRL_GP11_SPI_BYTE_VAL		REG8_VAL(GPIO_PULL_CTRL_GP11_SPI_BYTE_ADDR      	)
#define GPIO_PULL_CTRL_GP12_XD_BYTE_VAL			REG8_VAL(GPIO_PULL_CTRL_GP12_XD_BYTE_ADDR       	)
#define GPIO_PULL_CTRL_GP13_XDIO_BYTE_VAL		REG8_VAL(GPIO_PULL_CTRL_GP13_XDIO_BYTE_ADDR         )
#define GPIO_PULL_CTRL_GP14_SD_BYTE_VAL			REG8_VAL(GPIO_PULL_CTRL_GP14_SD_BYTE_ADDR       	)
#define GPIO_PULL_CTRL_GP15_NAND_7_0_BYTE_VAL	REG8_VAL(GPIO_PULL_CTRL_GP15_NAND_7_0_BYTE_ADDR     )
#define GPIO_PULL_CTRL_GP16_NAND_15_8_BYTE_VAL	REG8_VAL(GPIO_PULL_CTRL_GP16_NAND_15_8_BYTE_ADDR    )
#define GPIO_PULL_CTRL_GP18_SD0PWRSW_BYTE_VAL	REG8_VAL(GPIO_PULL_CTRL_GP18_SD0PWRSW_BYTE_ADDR		)
#define GPIO_PULL_CTRL_GP21_I2C_BYTE_VAL		REG8_VAL(GPIO_PULL_CTRL_GP21_I2C_BYTE_ADDR          )
#define GPIO_PULL_CTRL_GP22_UART_0_1_BYTE_VAL	REG8_VAL(GPIO_PULL_CTRL_GP22_UART_0_1_BYTE_ADDR     )
#define GPIO_PULL_CTRL_GP23_UART_2_3_BYTE_VAL	REG8_VAL(GPIO_PULL_CTRL_GP23_UART_2_3_BYTE_ADDR     )
#define GPIO_PULL_CTRL_GP24_TSDIN_7_0_BYTE_VAL	REG8_VAL(GPIO_PULL_CTRL_GP24_TSDIN_7_0_BYTE_ADDR    )
#define GPIO_PULL_CTRL_GP25_TS_BYTE_VAL			REG8_VAL(GPIO_PULL_CTRL_GP25_TS_BYTE_ADDR       	)
#define GPIO_PULL_CTRL_GP26_KPAD_BYTE_VAL		REG8_VAL(GPIO_PULL_CTRL_GP26_KPAD_BYTE_ADDR         )
#define GPIO_PULL_CTRL_GP27_SPDIF_BYTE_VAL		REG8_VAL(GPIO_PULL_CTRL_GP27_SPDIF_BYTE_ADDR        )
#define GPIO_PULL_CTRL_GP28_NAND_CFG_0_BYTE_VAL	REG8_VAL(GPIO_PULL_CTRL_GP28_NAND_CFG_0_BYTE_ADDR   )
#define GPIO_PULL_CTRL_GP29_NAND_CFG_1_BYTE_VAL	REG8_VAL(GPIO_PULL_CTRL_GP29_NAND_CFG_1_BYTE_ADDR   )
#define GPIO_PULL_CTRL_GP30_SPI_FLASH_BYTE_VAL	REG8_VAL(GPIO_PULL_CTRL_GP30_SPI_FLASH_BYTE_ADDR    )
#define GPIO_PULL_CTRL_GP31_PWM_BYTE_VAL		REG8_VAL(GPIO_PULL_CTRL_GP31_PWM_BYTE_ADDR 		    )
#define GPIO_PULL_CTRL_GP32_HDMI_BYTE_VAL		REG8_VAL(GPIO_PULL_CTRL_GP32_HDMI_BYTE_ADDR 	    )
#define GPIO_PULL_CTRL_GP60_USB_BYTE_VAL		REG8_VAL(GPIO_PULL_CTRL_GP60_USB_BYTE_ADDR			)


/* [Rx40] GPIO Enable Control Register for SD,MMC */
//#define GPIO_SD_DATA				0xF
//#define GPIO_MMC_DATA				0xF0

/* [Rx56] GPIO Eanble Control Register for UART */
#define GPIO_UR0_RTS				0x1
#define GPIO_UR0_TXD				0x2
#define GPIO_UR0_CTS				0x4
#define GPIO_UR0_RXD				0x8
#define GPIO_UR0_ALL				0xF

/* [Rx96] GPIO Output Control Register for UARTS */
#define GPIO_OE_UR0_RTS		0x1
#define GPIO_OE_UR0_TXD		0x2
#define GPIO_OE_UR0_CTS		0x4
#define GPIO_OE_UR0_RXD		0x8
#define GPIO_OE_UR0_ALL		0xF

/* [RxD6] GPIO Output Data Register for UARTS */
#define GPIO_OD_UR0_RTS		0x1
#define GPIO_OD_UR0_TXD		0x2
#define GPIO_OD_UR0_CTS		0x4
#define GPIO_OD_UR0_RXD		0x8
#define GPIO_OD_UR0_ALL		0xF

/* [Rx16] GPIO Input Data Register for UARTS */
#define GPIO_ID_UR0_RTS		0x1
#define GPIO_ID_UR0_TXD		0x2
#define GPIO_ID_UR0_CTS		0x4
#define GPIO_ID_UR0_RXD		0x8
#define GPIO_ID_UR0_ALL		0xF

/* [Rx40] GPIO Eanble Control Register for Dedicated GPIO */
#define GPIO_GPIO_ALL		0xFF
#define GPIO_GPIO_0			0x1
#define GPIO_GPIO_1			0x2
#define GPIO_GPIO_2			0x4
#define GPIO_GPIO_3			0x8
#define GPIO_GPIO_4			0x10
#define GPIO_GPIO_5			0x20
#define GPIO_GPIO_6			0x40
#define GPIO_GPIO_7			0x80

/* [Rx80] GPIO Output Control Register for Dedicated GPIO */
#define GPIO_OE_GPIO_ALL		0xFF
#define GPIO_OE_GPIO_0			0x1
#define GPIO_OE_GPIO_1			0x2
#define GPIO_OE_GPIO_2			0x4
#define GPIO_OE_GPIO_3			0x8
#define GPIO_OE_GPIO_4			0x10
#define GPIO_OE_GPIO_5			0x20
#define GPIO_OE_GPIO_6			0x40
#define GPIO_OE_GPIO_7			0x80

/* [RxC0] GPIO Output Data Register for Dedicated GPIO */
#define GPIO_OD_GPIO_ALL		0xFF
#define GPIO_OD_GPIO_0			0x1
#define GPIO_OD_GPIO_1			0x2
#define GPIO_OD_GPIO_2			0x4
#define GPIO_OD_GPIO_3			0x8
#define GPIO_OD_GPIO_4			0x10
#define GPIO_OD_GPIO_5			0x20
#define GPIO_OD_GPIO_6			0x40
#define GPIO_OD_GPIO_7			0x80

/* [Rx00] GPIO Input Data Register for Dedicated GPIO */
#define GPIO_ID_GPIO_ALL		0xFF
#define GPIO_ID_GPIO_0			0x1
#define GPIO_ID_GPIO_1			0x2
#define GPIO_ID_GPIO_2			0x4
#define GPIO_ID_GPIO_3			0x8
#define GPIO_ID_GPIO_4			0x10
#define GPIO_ID_GPIO_5			0x20
#define GPIO_ID_GPIO_6			0x40
#define GPIO_ID_GPIO_7			0x80

/* [Rx300] GPIO Interrupt Request Type Register */
#define GPIO_IRQT0_LOW	  	(BIT1 & BIT0)
#define GPIO_IRQT0_HIGH		((~BIT1) & BIT0)
#define GPIO_IRQT0_FALLING	(BIT1 & (~BIT0))
#define GPIO_IRQT0_RISING	(BIT1 | BIT0)
#define GPIO_IRQT0_NEGEDGE	BIT2
#define GPIO_IRQT0_EN		BIT7
#define GPIO_IRQT1_LOW	   	(BIT9 & BIT8)
#define GPIO_IRQT1_HIGH		((~BIT9) & BIT8)
#define GPIO_IRQT1_FALLING	(BIT9 & (~BIT8))
#define GPIO_IRQT1_RISING	(BIT9 | BIT8)
#define GPIO_IRQT1_NEGEDGE	BIT10
#define GPIO_IRQT1_EN		BIT15
#define GPIO_IRQT2_LOW		(BIT17 & BIT16)
#define GPIO_IRQT2_HIGH		((~BIT17) & BIT16)
#define GPIO_IRQT2_FALLING	(BIT17 & (~BIT16))
#define GPIO_IRQT2_RISING	(BIT17 | BIT16)
#define GPIO_IRQT2_NEGEDGE	BIT18
#define GPIO_IRQT2_EN		BIT23
#define GPIO_IRQT3_LOW		(BIT25 & BIT24)
#define GPIO_IRQT3_HIGH	 	((~BIT25) & BIT24)
#define GPIO_IRQT3_FALLING	(BIT25 &	(~BIT24))
#define GPIO_IRQT3_RISING	(BIT25 | BIT24)
#define GPIO_IRQT3_NEGEDGE	BIT26
#define GPIO_IRQT3_EN		BIT31

/* [Rx318] GPIO Interrupt Request Type Register */
#define GPIO_IRQT4_LOW	  	(BIT1 & BIT0)
#define GPIO_IRQT4_HIGH		((~BIT1) & BIT0)
#define GPIO_IRQT4_FALLING	(BIT1 & (~BIT0))
#define GPIO_IRQT4_RISING	(BIT1 | BIT0)
#define GPIO_IRQT4_NEGEDGE	BIT2
#define GPIO_IRQT4_EN		BIT7
#define GPIO_IRQT5_LOW	   	(BIT9 & BIT8)
#define GPIO_IRQT5_HIGH		((~BIT9) & BIT8)
#define GPIO_IRQT5_FALLING	(BIT9 & (~BIT8))
#define GPIO_IRQT5_RISING	(BIT9 | BIT8)
#define GPIO_IRQT5_NEGEDGE	BIT10
#define GPIO_IRQT5_EN		BIT15
#define GPIO_IRQT6_LOW		(BIT17 & BIT16)
#define GPIO_IRQT6_HIGH		((~BIT17) & BIT16)
#define GPIO_IRQT6_FALLING	(BIT17 & (~BIT16))
#define GPIO_IRQT6_RISING	(BIT17 | BIT16)
#define GPIO_IRQT6_NEGEDGE	BIT18
#define GPIO_IRQT6_EN		BIT23
#define GPIO_IRQT7_LOW		(BIT25 & BIT24)
#define GPIO_IRQT7_HIGH	 	((~BIT25) & BIT24)
#define GPIO_IRQT7_FALLING	(BIT25 &	(~BIT24))
#define GPIO_IRQT7_RISING	(BIT25 | BIT24)
#define GPIO_IRQT7_NEGEDGE	BIT26
#define GPIO_IRQT7_EN		BIT31

/* [Rx320] GPIO Interrupt Request Status Register */
#define GPIO_IRQS0_ACTIVE		(BIT0)
#define GPIO_IRQS1_ACTIVE		(BIT1)
#define GPIO_IRQS2_ACTIVE		(BIT2)
#define GPIO_IRQS3_ACTIVE		(BIT3)
#define GPIO_IRQS4_ACTIVE		(BIT24)
#define GPIO_IRQS5_ACTIVE		(BIT25)
#define GPIO_IRQS6_ACTIVE		(BIT26)
#define GPIO_IRQS7_ACTIVE		(BIT27)

/* [Rx55] GPIO Control Register for I2C */
#define GPIO_I2C0_SCL	BIT0
#define GPIO_I2C0_SDA	BIT1
#define GPIO_I2C1_SCL	BIT2
#define GPIO_I2C1_SDA	BIT3
/* [Rx4D5] */
#define GPIO_I2C0_SCL_PULL_EN BIT0
#define GPIO_I2C0_SDA_PULL_EN BIT1
#define GPIO_I2C1_SCL_PULL_EN BIT2
#define GPIO_I2C1_SDA_PULL_EN BIT3

/* [Rx4E] GPIO Control Register for SD*/
#define GPIO_SD0_CLK BIT1
#define GPIO_SD0_CMD BIT2
#define GPIO_SD0_WP BIT3
#define GPIO_SD0_DATA0 BIT4
#define GPIO_SD0_DATA1 BIT5
#define GPIO_SD0_DATA2 BIT6
#define GPIO_SD0_DATA3 BIT7

/* [Rx4E] GPIO Control Register for SD*/
#define GPIO_SD0_CLK_PULL_EN BIT1
#define GPIO_SD0_CMD_PULL_EN BIT2
#define GPIO_SD0_WP_PULL_EN BIT3
#define GPIO_SD0_DATA0_PULL_EN BIT4
#define GPIO_SD0_DATA1_PULL_EN BIT5
#define GPIO_SD0_DATA2_PULL_EN BIT6
#define GPIO_SD0_DATA3_PULL_EN BIT7

/*[Rx5F] GPIO 31*/
#define GPIO_PWMOUT0	BIT3
#define GPIO_C25MHZCLK	BIT2
#define GPIO_C24MHZCLK	BIT1
#define GPIO_CLK_OUT	BIT0

#define GPIO_PWMOUT0_PULL_EN	BIT3
#define GPIO_C25MHZCLK_PULL_EN	BIT2
#define GPIO_C24MHZCLK_PULL_EN	BIT1
#define GPIO_CLK_OUT_PULL_EN	BIT0

